jQuery 遍历 - is() 方法

实例

返回 false,因为 input 元素的父元素是 p 元素:

  var isFormParent = $("input[type='checkbox']").parent().is("form");
  $("div").text("isFormParent = " + isFormParent);

ကိုယ်တိုင် ကြိုးစားကြည့်ပါ

定义和用法

is() 根据选择器、元素或 jQuery 对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回 true。

语法

.is(selector)
参数 描述
selector 字符串值,包含匹配元素的选择器表达式。

详细说明

与其他筛选方法不同,.is() 不创建新的 jQuery 对象。相反,它允许我们在不修改 jQuery 对象内容的情况下对其进行检测。这在 callback 内部通常比较有用,比如事件处理程序。

ခန့်မှန်းကာ ကျွန်တော်က နောက်ဆုံး စာအုပ်အချက်တွင် အချက်အရာတစ်ခု ပါဝင်သည်။

<ul>
  <li>list <strong>item 1</strong></li>
  <li><span>list item 2</span></li>
  <li>list item 3</li>
</ul>

သင် အဆိုပါ <ul> အရာအုပ်အချက်တွင် click ဖွင့်ပြီး နောက် အရာအုပ်အချက်ကို စွဲယူသောအခါတွင် သာမျှ အရာအုပ်အချက်ကို ဖြစ်စေ အသုံးပြုပါ။

$("ul").click(function(event) {
  var $target = $(event.target);
  if ( $target.is("li") ) {
    $target.css("background-color", "red");
  }
});

ကိုယ်တိုင် ကြိုးစားကြည့်ပါ

ဒီနောက်၊ အသုံးပြုသူက ပထမဆုံး စာအုပ်အချက်တွင် "list" ကို သို့မဟုတ် တတိယဆုံး စာအုပ်အချက်တွင် အခြားအသုံးပြုသူ ကို စွဲယူလျှင်၊ စွဲယူခဲ့သော စာအုပ်အချက်ကို ခရစ်ယားမြောက် အကြောင်းအရာကို ထုတ်ပြန်ကြေညာကြောင်း ဖြစ်သည်။ သို့သော် အသုံးပြုသူက ပထမဆုံး စာအုပ်အချက်တွင် "item 1" ကို သို့မဟုတ် ဒုတိယဆုံး စာအုပ်အချက်တွင် အခြားအသုံးပြုသူ ကို စွဲယူခဲ့လျှင်၊ အခြေအနေအမျိုးမျိုးတွင် အခြေအနေကို ပြောင်းလဲမှု မရှိသေးပါ။ ဒါကြောင့် အမှုန့်ကို အားလုံး <strong>သည် <span>ဖြစ်သည်။

သင့် သဘောပေါ် အား သတိပြုပါ၊ တခုခုတွင် အခြေခံ အဆိုချက် အကြောင်းရပ် ဖြစ်သော :first, :gt(), သို့မဟုတ် :even ကဲ့သို့ တခုခု ရှိသော အဆိုချက် အချက်အလက် အတွက် အခြေခံ တခုခု ကို အခြေခံ အဆိုချက် အတွက် ကြောင်းဆိုတာ မဟုတ် သည်။ အဆိုပါ HTML အတွက် အခြေခံ တခုခု အား ကြောင်းဆိုတာ ဖြစ်သော $("li:first").is("li:last") အဆိုချက် လည်း true ကို ပြန်လည်ပေးသည်၊ သို့သော် $("li:first-child").is("li:last-child") အဆိုချက် လည်း false ကို ပြန်လည်ပေးသည်။

ပြောင်းလဲသော အကြောင်းရပ်

ဒီ နည်းလမ်း၏ ဒုတိယ အသုံးပြုခြင်း မှာ လက်တွေ့ ဖြစ်စေ သော အကြောင်းရပ် အတွက် အထူးသတင်း ကို အတည်ပြုရန် ဖြစ်သည်။ ရှိပါတယ်လဲ့ ရှိသော အချက်အလက် အတွက် ဒီ .is() လုပ်ငန်း လည်း true ကို ပြန်လည်ပေးသည်။ ဥပမာ အောက်ပါ ပုံစံအရ အိမ်ချိန် HTML ဖြစ်သည်:

<ul>
  <li><strong>list</strong> item 1 - one strong tag</li>
  <li><strong>list</strong> item <strong>2</strong> -
    two <span>strong tags</span></li>
  <li>list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
</ul>

အထူးသဖြင့် ကျယ်ပါလဲ့ <li> အား ကြောင်းဆိုတာ ခုံကြိုးစားပြီး ပုံစံအရ ကိုယ်စားလှယ် <strong> အရာများ အင်အား ကြည့်ပါ:

$("li").click(function() {
  var $li = $(this),
    isWithTwo = $li.is(function() {
      return $('strong', this).length === 2;
    });;
  if ( isWithTwo ) {
    $li.css("background-color", "green");
  } else {
    $li.css("background-color", "red");
  }
});

ကိုယ်တိုင် ကြိုးစားကြည့်ပါ