jQuery 選取元素

建議學(xué)習(xí)時(shí)長(zhǎng): 30分鐘
學(xué)習(xí)方式:深入

學(xué)習(xí)目標(biāo)

  • 知道如何用 jQuery 選取元素。
  • 知道在選取元素的元素上過(guò)濾和添加元素。

詳細(xì)介紹

用選擇器選取元素

$(選擇器 [, 父元素])

如:

$('#save-btn');// 所有 id 為 save-btn 的
$('.btn', $('form'));// form 元素下類名包含 btn 的元素
$('.box h2.title'); // 所有類名包含 box 的元素下的類名包含 title 的 h2

jQuery 支持的選擇器包括:

注意:
對(duì)于 jQuery 自定義的選擇器,為了性能,先用 CSS 定義的選擇器選,再?gòu)慕Y(jié)果集中篩選時(shí)用 jQuery 自定義的選擇器。如:

// 不推薦
$('.form:visible');
$('.form :selected');
$('.list:eq(3)');
// 推薦
$('.form').filter(':visible');
$('.form').find(':selected');
$('.list').eq(3);

一些有用的選擇器

表單類

是否可見(jiàn)

內(nèi)容過(guò)濾

其他

選擇器中包含元字符的處理

選擇器的元字符有:!"#$%&'()*+,./:;<=>?@[\]^{|}~

選擇器中如果要使用選擇器的元字符,必須用 \ 來(lái)轉(zhuǎn)義。如:選擇 id 為 foo.bar 的元素,要使用 $("#foo\\.bar")。如果使用 $("#foo.bar"),則選擇的是 id 為 foo 并且有 bar 的類名的元素。

從層級(jí)中選取元素

從父元素和祖系元素中找

closest parents parent
從當(dāng)前元素開(kāi)始 從父級(jí)開(kāi)始 從父級(jí)開(kāi)始
向上查找直到找到匹配的 向上查找直到文檔的根節(jié)點(diǎn) 向上查找一層
為執(zhí)行操作的每個(gè)jQuery對(duì)象返回最多一個(gè)元素 為執(zhí)行操作的每個(gè)jQuery對(duì)象返回0或多一個(gè)元素 為執(zhí)行操作的每個(gè)jQuery對(duì)象返回最多一個(gè)元素

從子元素中下找

$('#frameDemo').contents().find('a');
// 等效與
$('#frameDemo')[0].contentWindow.$('a');

從兄弟元素中找

過(guò)濾掉不滿足條件的元素

$(".btn")
  .filter(function(index) {
    return index > 2 && $(this).is(':visible');
});

選中集合中添加元素

  • add

自定義選擇器

例如

$.extend($.expr[':'], {
    notEmpty: function(el,index, meta, stack) {
    // element- DOM元素
    // index - 堆棧中當(dāng)前遍歷的索引值
    // meta - 關(guān)于你的選擇器的數(shù)據(jù)元
    // stack - 用于遍歷所有元素的堆棧
        return $(el).val() !== "";
    }
});
$(':text:notEmpty') //所有值不為空的輸入框
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,644評(píng)論 19 139
  • 1.JQuery 基礎(chǔ) 改變web開(kāi)發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無(wú)需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級(jí)特性。 1....
    LaBaby_閱讀 1,276評(píng)論 0 1
  • 1.JQuery 基礎(chǔ) 改變web開(kāi)發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無(wú)需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級(jí)特性。 1....
    LaBaby_閱讀 1,508評(píng)論 0 2
  • Attribute: $("p").addClass(css中定義的樣式類型); 給某個(gè)元素添加樣式 $("img...
    撲克臉_457e閱讀 664評(píng)論 0 1
  • 這霞光 自太陽(yáng)升起的地方 照到你的心房
    一縷陽(yáng)光yg閱讀 161評(píng)論 8 11

友情鏈接更多精彩內(nèi)容