0

以下代码有什么作用:

$('#myelement').is('*')

星号代表什么?由于只有一个元素,#myelement我无法理解使用的意义is(),它检查一个元素是否与一组元素匹配?

4

5 回答 5

7

这是一些严肃存在的 JavaScript。

$('#myelement').is('*')

#myelement只要不存在就会失败,否则返回true。

于 2012-07-06T23:16:52.603 回答
2

http://api.jquery.com/is/

至少从我对它的理解来看,它做得很好,以及我倾向于如何使用它。无论调用什么都返回真或假。

示例我有一个复选框,我想确保在通过 AJAX 提交表单之前检查它我会做类似的事情

if( $('input#tosCheck').is(':checked') ){
    /*its checked submit form*/
}else{
    alert('Error');
}

总而言之,从 jQuery 到 API 的链接比我能更好地描述它,但我想至少分享一个使用示例来帮助您衡量一些想法。

于 2012-07-06T23:17:18.170 回答
2

基本上检查一个元素是否存在。不是最好的方法...

于 2012-07-06T23:18:58.913 回答
2

is检查元素是否符合标准。在这种情况下,"*"表示所​​有元素。因此,如果前一个选择器返回任何内容,它只会返回 true。

看看这里的例子:http: //jsfiddle.net/b7DwB/

于 2012-07-06T23:19:56.780 回答
2

不能说我曾经见过以前使用过的 jQuery 代码,但它似乎是一种检查元素是否存在的糟糕方法。由于*是通用选择器,true如果#myelement存在,相关表达式将始终返回,否则将返回 false。

我说这是检查元素是否存在的“糟糕”方法,因为您可以简单地检查 jQuery 对象的长度:

$('#myelement').length > 0

我没有做任何测试,但我认为上面的速度更快,因为它没有is()函数调用的开销。

于 2012-07-06T23:20:42.603 回答