[Функция] is(expr)
Раздел "Traversing"
Функция проверяет текущий выбор по отношению к выражению и возвращает true, если по крайней мерее один из элементов соответсвует установленному выражению.
Параметры
is(expr)
1.0
fn:функция уменьшающая набор выбранных элементов
function callback(indexInJQueryObject) { var keepItBoolean = true; this; // текущий элемент return keepItBoolean; }
Описание
Если нет подходящих элементов, или выражение является неправильным, будет возвращено 'false'.
Примечание: jQuery 1.3 поддерживает любые выражения. Предшествующие сложные выражения, содержащие селекторы иерархии (вроде +, ~, и >), всегда возвращают 'true'.
Методы filter используются в данной функции внутренне, поэтому все правила которые используются в filter используются здесь в равной мере.
Примеры
Пример:
Способы применения функции is(), которые могут быть использованы внутри обработчика.
"jQuery"
$("div").one('click', function () { if ($(this).is(":first-child")) { $("p").text("It's the first div."); } else if ($(this).is(".blue,.red")) { $("p").text("It's a blue or red div."); } else if ($(this).is(":contains('Peter')")) { $("p").text("It's Peter!"); } else { $("p").html("It's nothing <em>;special</em>."); } $("p").hide().slideDown("slow"); $(this).css({"border-style": "inset", cursor:"default"}); });
"HTML"
<div></div> <div class="blue"></div> <div></div> <div class="red"></div> <div><br/><span>Peter</span></div> <div class="blue"></div> <p></p>
"CSS"
div { width:60px; height:60px; margin:5px; float:left; border:4px outset; background:green; text-align:center; font-weight:bolder; cursor:pointer; } .blue { background:blue; } .red { background:red; } span { color:white; font-size:16px; } p { color:red; font-weight:bolder; background:yellow; margin:3px; clear:left; display:none; }
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link href="http://test-drupal.ru/themes/slyweb/css/jqueryiframe.css" rel="stylesheet" type="text/css"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> <script> $(document).ready(function(){ $("div").one('click', function () { if ($(this).is(":first-child")) { $("p").text("It's the first div."); } else if ($(this).is(".blue,.red")) { $("p").text("It's a blue or red div."); } else if ($(this).is(":contains('Peter')")) { $("p").text("It's Peter!"); } else { $("p").html("It's nothing <em>;special</em>."); } $("p").hide().slideDown("slow"); $(this).css({"border-style": "inset", cursor:"default"}); }); }); </script> </head> <body class="iframe"> <div></div> <div class="blue"></div> <div></div> <div class="red"></div> <div><br/><span>Peter</span></div> <div class="blue"></div> <p></p> </body> </html> <style> div { width:60px; height:60px; margin:5px; float:left; border:4px outset; background:green; text-align:center; font-weight:bolder; cursor:pointer; } .blue { background:blue; } .red { background:red; } span { color:white; font-size:16px; } p { color:red; font-weight:bolder; background:yellow; margin:3px; clear:left; display:none; } </style>
Пример:
Возвращает true, так как родитель поля input является формой.
<form><input type="checkbox" /></form>
<div></div>
Пример:
Возвращает false, так как родитель поля input не является формой.
<form><input type="checkbox" /></form>
<div></div>
Версия jQuery 1.4.2
Документ создан 2010-08-21