var sd = jQuery(".bla");
if (sd.length>0){
}
有没有更酷的方法来编写该代码?我想要一些代码只有在有一些名为bla
的类时执行。我知道我可以使用每个,但我不想,我知道我可以做sd.action()
之类的东西,但我不想这样做。
答案 0 :(得分:5)
我不确定这是多么“酷”,只是:
if ($('.bla').length) {
// Do stuff
}
会做的伎俩。
编辑:如果您需要在检查后重新使用选择器,您仍然可以使用相同的语法:
var sd = $(".bla");
if (sd.length) {
// Do stuff
}
答案 1 :(得分:3)
如果您不想使用长度等,请使代码看起来更“凉爽”。
jQuery.fn.extend({
exists: function() {
return this.length !== 0;
}
});
if (jQuery(".bla").exists()) {
console.log('found');
}
答案 2 :(得分:2)
老实说,这是一种完全可以接受的快速方式(没有函数调用)来做你想做的事情。我总是做类似的事情。即使使用$().each
也有点慢,因为它需要函数调用,即使它实际上不会做任何事情。
关于这里的另一个答案,这也是正确的:多次执行$('.bla')
也会更慢。如果您认为以后可能会使用$('.bla')
,最好将其存储在代码中的变量中。这避免了另一个jQuery调用,并让浏览器负责垃圾收集。
希望这是有道理的! :)
答案 3 :(得分:1)
制作这种外观的“最酷”方式(在我看来)是
if ( $('.bla').length > 0 ) {
// ...
}
答案 4 :(得分:1)
答案 5 :(得分:1)
不。
我不认为有什么更酷。 (因此,我不能让我只回答问题)