定义和用法
根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。
如果没有元素符合,或者表达式无效,都返回'false'。 '''注意:'''在jQuery 1.3中才对所有表达式提供了支持。在先前版本中,如果提供了复杂的表达式,比如层级选择器(比如 + , ~ 和 > ),始终会返回true
语法
- is(expr|obj|ele|fn)
参数 | 描述 |
---|---|
expr | 字符串值,包含供匹配当前元素集合的选择器表达式。 |
jQuery object | 现有的jQuery对象,以匹配当前的元素。 |
element | 一个用于匹配元素的DOM元素。 |
function(index) | 一个函数用来作为测试元素的集合。它接受一个参数index,这是元素在jQuery集合的索引。在函数, this指的是当前的DOM元素。 |
例子 1
由于input元素的父元素是一个表单元素,所以返回true。
- # HTML 代码:
- <form><input type="checkbox" /></form>
- # jQuery 代码:
- $("input[type='checkbox']").parent().is("form")
结果:
- true
例子 2
判断点击li标签增加背景色为红色,如果点击的是第2个strong,当前的li增加背景色为绿色
- # 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>
- </ul>
- # jQuery 代码:
- $("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");
- }
- });
例子 3
下面是 is() 函数比较常用的用法
- // 是否是隐藏的
- $('#test').is(':visible');
- // 判断input元素是否被选中
- $('input[name=chkNoChecked]').is(':checked');
- // 是否是第一个子元素
- $(this).is(":first-child");
- // 是否包含.blue,.red的class
- $(this).is(".blue,.red");
- // 文本中是否包含Peter这个词
- $(this).is(":contains('Peter')");
问题没有解决?建议您查阅官方文档:http://api.jquery.com/is/
来自 http://www.hi-docs.com/jquery/is.html
jQuery 遍历 - is() 方法
定义和用法
is() 根据选择器、元素或 jQuery 对象来检测匹配元素集合,如果这些元素中至少有一个元素匹配给定的参数,则返回 true。
语法
1 | .is(selector) |
详细说明
与其他筛选方法不同,.is() 不创建新的 jQuery 对象。相反,它允许我们在不修改 jQuery 对象内容的情况下对其进行检测。这在 callback 内部通常比较有用,比如事件处理程序。
假设我们有一个列表,其中两个项目包含子元素:
1 2 3 4 5 | < ul > < li >list < strong >item 1</ strong ></ li > < li >< span >list item 2</ span ></ li > < li >list item 3</ li > </ ul > |
您可以向 <ul> 元素添加 click 处理程序,然后把代码限制为只有当列表项本身,而非子元素,被点击时才进行触发:
1 2 3 4 5 6 | $( "ul" ).click( function (event) { var $target = $(event.target); if ( $target.is( "li" ) ) { $target.css( "background-color" , "red" ); } }); |
其他回答
区别在于写法比较简单了,传统的要这样判断
1 | return document.getElementById( 'id' ).style.display== "none" |
你可以看在jquery在教程jquery.xiamiz.com或者虾米站长等。
来自 http://zhidao.baidu.com/link?url=5n9h4cu1Fjvvvlc0Ky5Gwn7w-59aR27-7yV_dEOq2wwypOHkkjzriR7UFh-4CLYV2W4...