在Mootools中,我只需要运行if ($('target')){…}。if ($('#target')){…}在jQuery的工作方式相同?
当前回答
if ($('#elem')[0]) {
// do stuff
}
其他回答
如果你使用:
jQuery.fn.exists = function(){return ($(this).length > 0);}
if ($(selector).exists()) { }
你可能会暗示链条是可能的,但实际上不是。
这样会更好
jQuery.exists = function(selector) {return ($(selector).length > 0);}
if ($.exists(selector)) { }
另外:
if( jQuery('#elem').get(0) ) {}
对我来说,.exists不起作用,所以我使用索引:
if ($("#elem").index() ! = -1) {}
正如其他评论者所建议的,最有效的方法似乎是:
if ($(selector).length ) {
// Do something
}
如果你绝对必须有一个exists()函数-这会比较慢-你可以这样做:
jQuery.fn.exists = function(){return this.length>0;}
然后在代码中使用
if ($(selector).exists()) {
// Do something
}
如这里所回答的
还有另一种方式:
$('#elem').each(function(){
// do stuff
});
推荐文章
- 我如何使用Jest模拟JavaScript的“窗口”对象?
- 我如何等待一个承诺完成之前返回一个函数的变量?
- 在JavaScript中根据键值查找和删除数组中的对象
- 使嵌套JavaScript对象平放/不平放的最快方法
- 如何以及为什么'a'['toUpperCase']()在JavaScript工作?
- 有Grunt生成index.html不同的设置
- 文档之间的区别。addEventListener和window。addEventListener?
- 如何检查动态附加的事件监听器是否存在?
- 防止在ASP中缓存。NET MVC中使用属性的特定操作
- 如何写setTimeout与参数Coffeescript
- 将JavaScript字符串中的多个空格替换为单个空格
- jQuery: keyPress退格键不火?
- XMLHttpRequest Origin null不允许Access-Control-Allow-Origin for file:/// to file:///(无服务器)
- JavaScript: override alert()
- 重置setTimeout