在Mootools中,我只需要运行if ($('target')){…}。if ($('#target')){…}在jQuery的工作方式相同?
当前回答
jQuery.fn.exists = function(selector, callback) {
var $this = $(this);
$this.each(function() {
callback.call(this, ($(this).find(selector).length > 0));
});
};
其他回答
jQuery.fn.exists = function(selector, callback) {
var $this = $(this);
$this.each(function() {
callback.call(this, ($(this).find(selector).length > 0));
});
};
我想这里回答的大多数人都不太理解这个问题,否则我可能会弄错。
问题是“如何检查jQuery中是否存在选择器”。
大多数人认为这是“如何使用jQuery检查DOM中是否存在元素”。几乎可以互换。
jQuery允许你创建自定义选择器,但是当你在初始化e之前尝试使用它时会发生什么;
$(':YEAH');
"Syntax error, unrecognized expression: YEAH"
在遇到这种情况后,我意识到这只是一个简单的检查问题
if ($.expr[':']['YEAH']) {
// Query for your :YEAH selector with ease of mind.
}
欢呼。
还有另一种方式:
$('#elem').each(function(){
// do stuff
});
if ($('#elem')[0]) {
// do stuff
}
对我来说,.exists不起作用,所以我使用索引:
if ($("#elem").index() ! = -1) {}
推荐文章
- 我如何使用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