jQuery - is (метод)

Статья, в которой рассматривается метод библиотеки jQuery .is().

Метод .is(выражение) используется для проверки каждого элемента текущего набора в соответствии выражением, указанным в качестве параметра данного метода и возвращает в качестве результата значение true или false. Данный метод возвращает значение true, если хотя бы один из элементов исходного набора соответствует выражению, указанному в качестве параметра данного метода. В противном случае метод .is() возвращает значение false.

jQuery - Метод .is()

В качестве параметра данного метода может использоваться селектор, функция, DOM-элементы или объект jQuery, содержащий набор элементов:

  • .is("селектор") - в качестве параметра используется селектор.
    //синтаксис (пример) 
    $("селектор").is("селектор");
    
  • .is(функция) - в качестве параметра используется функция, которая выполняет тест каждого элемента текущего набора. Если в процессе проверки с помощью функции хотя бы один элемент из текущего набора проходит тест (т.е. функция возвращает истинное значение), то метод .is() вернёт в качестве результата значение true (истина). В противном случае данный метод вернёт значение false. Функция может принимать 2 аргумента: index (индекс элемента текущего набора) и element (представляет собой текущий DOM-элемент). Внутри функции, для того чтобы обратиться к текущему элементу используется ключевое слово this.
    //синтаксис (пример) 
    $("селектор").is(function(index,element) {
      //в функции:
      //index - индекс элемента в текущем наборе
      //element - текущий элемент
      //также обратиться к текущему элементу можно с помощью ключевого слова this
    });
    
  • .is(наборЭлементов) - в качестве параметра используется объект jQuery, содержащий набор элементов.
    //синтаксис (пример) 
    $("селектор").is($("селектор"));
    
  • .is(DOM-элементы) - в качестве параметра используется DOM-элемент или коллекция DOM-элементов.
    //синтаксис (пример) 
    $("селектор").is(document.getElementById("myID"));
    

В отличие от других методов библиотеки jQuery, выполняющих фильтрацию элементов текущего набора, метод .is() не создаёт новый jQuery объект, а возвращает только значение true или false.

Например, проверить содержит ли текущий набор, содержащий элемент с id="myID", элемент p.

<div id="myID">
  <h3>...</h3>
  <p>...</p> 
</div>

<script>
$("#myID").is("p"); //вернёт значение false, т.к. текущая выборка, состоящая из элемента div не содержит элемент р 
</script>

Например, проверить содержит ли первоначальный набор, состоящий из потомков элемента id="myID", элемент p.

<div id="myID">
  <h3>...</h3>
  <p>...</p> 
</div>

<script>
$("#myID *").is("p"); //вернёт значение true, т.к. один из элементов текущей выборки (р) соответствует выражению, указанному в качестве параметра метода .is()
</script>

Например, при клике на элемент с помощью левой кнопки мыши изменить ему цвет фона, но только в том случае если этот элемент является li.

<ul>
  <li>Это очень<strong>важный </strong> пункт</li>
  <li><span>Это обычный пункт</span></li>
  <li>Это последний пункт</li>
</ul>

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


   JavaScript и jQuery 0    827 0

Комментарии (0)

    Вы должны авторизоваться, чтобы оставлять комментарии.