Posted on 2008-03-07 02:31
leekiang 閱讀(1446)
評論(0) 編輯 收藏 所屬分類:
jquery(進去而已)
在我所知道的主流JavaScript庫中,jQuery擁有最棒的Ajax API。最簡單的Ajax調用如:
jQuery('div#intro').load('/some/fragment.html');
代碼以GET請求方式,從/some/fragment.html文件中獲取HTML片段,并把片段裝載到id="intro"的div中。
當
我第一次看到這行代碼時,幾乎對它沒什么印象。這看起來非常簡潔,但如果你想用jQuery做些更復雜的事情,比如顯示Ajax裝載進度,該如何做呢?
jQuery為你準備了一些可自定義的事件(ajaxStart,ajaxComplete,ajaxError等等),來實現你想要的代碼。同時
jQuery也提供了廣泛的底層API,來實現更復雜的Ajax交互:
jQuery.get('/some/script.php', {'name': 'Simon'}, function(data) {
alert('The server said: ' + data);
}); // 以GET方式通過/some/script.php?name=Simon獲取數據
jQuery.post('/some/script.php', {'name': 'Simon'}, function(data) {
alert('The server said: ' + data);
}); // 以POST方式向/some/script.php發送請求
jQuery.getJSON('/some.json', function(json) {
alert('JSON rocks: ' + json.foo + ' ' + json.bar);
}); // 從/some.json接收并解析數據,把數據轉換成JSON格式
jQuery.getScript('/script.js'); // 以GET方式獲取/script.js腳本并用eval()執行
http://www.nixsky.com/program/java/2008-02/393.html
選取元素:
-
jQuery('div.panel')
-
選取了所有class="panel"的div
-
jQuery('p#intro')
-
選取了所有id="intro"的段落
-
jQuery('div#content a:visible')
-
選取了id="content"的div中所有可見的鏈接
-
jQuery('input[@name=email]')
-
選取了所有name="email"的輸入域
-
jQuery('table.orders tr:odd')
-
選取了類名為“orders”的表中所有的奇數行
-
jQuery('a[@href^="http://"]')
-
選取了所有(以http://開頭的)外部鏈接
-
jQuery('p[a]')
-
選取了所有包含一個或多個鏈接的段落
上述例子中,:visible和:odd是jQuery實現的擴展,很具特色。而屬性的選取使用@作為標記,
其方式和XPath一樣,要優于CSS2。
jQuery的這套選取語法包羅萬象,有些類似正則表達式,想完全消化是需要花上一段時間的。
$(window.frames["innerIframe"].document).find
("a[rel='external']").
addClass("external")
.
click(function(){window.
open(this.
href);return
false;
});
});
在父窗口中操作 選中IFRAME中的所有單選鈕
$(window.frames["iframe1"].document).find("input[@type='radio']").attr("checked","true");
在IFRAME中操作 選中父窗口中的所有單選鈕
$(window.parent.document).find("input[@type='radio']").attr("checked","true");
取消全選
? $("input[@type=checkbox][@checked]").each(function(){
??????????? $(this).attr("checked", '');
??????? });
如果選中的只有一個,取得選中的值
$("input[@type=checkbox][@checked]").eq(0).val()