jQuery Gezinti - is() Metodu

Örnek

False döner çünkü input elementinin ebeveyni p elementidir:

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

Kişisel olarak deneyin

Tanım ve Kullanım

is() seçici, element veya jQuery nesnesine dayanarak eşleşen element kümelerini sorgular. Bu elementlerden en az biri belirtilen parametreye eşleşiyorsa true döner.

Gramer

.is(seçici)
Parametre Açıklama
seçici Dize değeri, eşleşen elementlerin seçici ifadesi içeren.

Ayrıntılı Açıklama

Diğer filtreleme yöntemlerinden farklı olarak, .is() yeni bir jQuery nesnesi oluşturmaz. Aksine, jQuery nesnesi içeriğini değiştirmeksizin onu sorgulamamıza olanak tanır. Bu, callback içlerinde genellikle daha faydalıdır, örneğin olay işleyicilerinde.

Örneğin, iki projenin alt elementleri içeren bir liste olduğumuzu varsayalım:

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

Sizin <ul> elementine tıklama işleyicisi ekleyebilir ve ardından kodu sadece liste öğesi,而非 alt öğe, tıklanıldığında tetiklemek için sınırlayabilirsiniz:

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

Kişisel olarak deneyin

Şu anda, kullanıcı 'list' kelimesini ilk liste öğesinde veya üçüncü liste öğesinde herhangi bir kelimeyi tıkladığında, tıklanan liste öğesi kırmızı arka plan olarak ayarlanır. Ancak, kullanıcı ilk liste öğesinde 'item 1' veya ikinci liste öğesinde herhangi bir kelimeyi tıkladığında, herhangi bir değişiklik olmaz, çünkü bu durumda olayın hedefi <strong> <span>dir.

Lütfen dikkat edin, konumsal seçici ifadeleri olan seçici ifadeleri için, örneğin :first, :gt() veya :even, konumsal filtreleme .is() 'e iletilen jQuery nesnesi için,而非 entire document için yapılmaktadır. Bu nedenle, yukarıdaki HTML için, $("li:first").is("li:last") ifadesi true döner, ancak $("li:first-child").is("li:last-child") ifadesi false döner.

Fonksiyon kullanarak

Bu yöntemin ikinci kullanımı, fonksiyon yerine seçiciye dayalı ilgili elementlerin ifadesinin değerlenmesidir. Her element için, fonksiyon true dönerse, .is() de true döner. Örneğin, aşağıdaki daha karmaşık HTML parçası verilmiştir:

<ul>
  <li><strong>list</strong> item 1 - bir strong etiketi</li>
  <li><strong>list</strong> item <strong>2</strong> -
    iki <span>strong etiketi</span></li>
  <li>list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
</ul>

Her <li> elementine tıklama işleyicisi ekleyerek, tıklanan <li> içindeki <strong> elementlerin sayısını hesaplayabilirsiniz:

$("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");
  }
});

Kişisel olarak deneyin