在Mootools中,我只需要运行if ($('target')){…}。if ($('#target')){…}在jQuery的工作方式相同?
当前回答
如果你使用:
jQuery.fn.exists = function(){return ($(this).length > 0);}
if ($(selector).exists()) { }
你可能会暗示链条是可能的,但实际上不是。
这样会更好
jQuery.exists = function(selector) {return ($(selector).length > 0);}
if ($.exists(selector)) { }
其他回答
还有另一种方式:
$('#elem').each(function(){
// do stuff
});
另外:
if( jQuery('#elem').get(0) ) {}
我想这里回答的大多数人都不太理解这个问题,否则我可能会弄错。
问题是“如何检查jQuery中是否存在选择器”。
大多数人认为这是“如何使用jQuery检查DOM中是否存在元素”。几乎可以互换。
jQuery允许你创建自定义选择器,但是当你在初始化e之前尝试使用它时会发生什么;
$(':YEAH');
"Syntax error, unrecognized expression: YEAH"
在遇到这种情况后,我意识到这只是一个简单的检查问题
if ($.expr[':']['YEAH']) {
// Query for your :YEAH selector with ease of mind.
}
欢呼。
if ($('#elem')[0]) {
// do stuff
}
不,无论选择器是否匹配,jquery总是返回一个jquery对象。 你需要使用。length
if ( $('#someDiv').length ){
}
推荐文章
- 如何修改标签文本?
- 如何获得十六进制颜色值而不是RGB值?
- 字符串strip() JavaScript?
- 如何将一个标题转换为jQuery的URL段塞?
- 获取对象的第一个索引
- 我如何用javascript编程点击链接?
- JavaScript:客户端验证与服务器端验证
- React钩子:从回调中访问最新状态
- 使用lodash将对象转换为数组
- $(window).width()与媒体查询不一样
- AJAX请求中的内容类型和数据类型是什么?
- 打印在 JsFiddle 中
- AngularJS只适用于单页应用程序吗?
- Javascript和regex:分割字符串并保留分隔符
- 如何检查DST(日光节约时间)是否有效,如果是,偏移量?