本篇文章是我在jQuery官網文件筆記,介紹幾個比較常用抓取物件節點的語法
// CSS & DOM
// 節點控制
// $(" ") <= 節點名
// .hide() <= 隱藏
// .show() <= 顯示
// p[a] <= 在
節點裡的所有
$("p[a]").hide();
// p:eq(0) <= 在
節點中的第0個
從0開始計算
$("p:eq(0)").show();
// div:visible <= 所有現在顯示的 DIV
$("div:visible").hide();
// ul/li <= ul 下的 li 隱藏
$("ul/li").hide();
// p.foo[a] <= 在
裡的
$("p.foo[a]").hide();
// 在li 裡 Register 的節點
$("li[a:contains('Register')]").hide();
// 取得input name="bar" 物件 的值
//alert($("input[@name=bar]").val());
$("input[@name=bar]").val();
// 取得 radio 已選擇的值
//alert($("input[@type=radio][@checked]").val());
$("input[@type=radio][@checked]")
您好:
我有一段程式碼,測試後可以運作,但是我不知道為什麼可以運作:
onChange=’$("#specal_day")[(this.value=="specal")?"show":"hide"]();’
應該是說為什麼選擇器後可以直接使用[]();
[]()所代表的意義是什麼呢??
如果有打擾之處,請見諒;
你好~
關於你的問題 我以下面的例子來解說, 如果說錯歡迎指正 ^^
例子
$(‘body’)[(1==1)?"hide":"show"]();
[] <= 是指 $('body')這物件裡面的屬性
[(1==1)?"hide":"show"] <= 利用 三元運算子 去判斷要使用哪個屬性名稱
[]() <= 就好像 hide() or show() 這種呼叫 hide function or show function
所以 $('body')[(1==1)?"hide":"show"]() 會等於 $('body').hide(); 或是 $('body').show(); 就看你的判斷句來決定
您好:
謝謝您的說明,但是我有2個地方不了解,
1.為什麼屬性名稱是使用[]包起來呢??
2.[]與選擇器之間,"."為什麼不用加呢??
你好~
建議你看看下面這blog 文章
[JavaScript] 存取物件屬性的方式
您好:
謝謝您的文章,我終於了解了;
^^
不客氣 ^^