在我所知道的主流JavaScript庫中,jQuery擁有最棒的Ajax API。最簡單的Ajax調用如:
.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()
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()