Check if an object exists by its selector, return a boolean value with jQuery or Javascript
我需要通过其选择器查看页面上是否存在对象。
这通常是这样做的:
但这并不会带来任何回报。 我需要一个布尔值,我可以放入这样的if语句:
if(startpageentry!='false'){}
我怎样才能做到这一点?
没有布尔值,因为它可以防止链接。
你可以使用
但是如果你需要一遍又一遍地运行,我制作了一个名为
1 2 3 4 5 6 7 8 | /* doesExist PLUGIN (c) MS */ /* (c) Michael Stadler(MS), */ (function($){ $.fn.doesExist = function() { return jQuery(this).length > 0; }; })(jQuery); |
它的用法是
1 2 3 | if($('#something').doesExist()){ //doesExist returns a boolean } |
使用
1 | var startpageentry = $('#' + startpageid).length; |
要存储布尔结果,请使用:
1 | var isPresent = $('#' + startpageid).length > 0; |
现在
或者干脆:
1 2 3 4 5 6 | if ($('#' + startpageid).length){ // exists } else { // does not exist } |
用jQuery获取布尔值...
1 | var startpageentry = !! $('#' + startpageid).length; |
没有jQuery ......
1 | var startpageentry = !! document.getElementById(startpageid); |
当然,你真的不需要布尔来测试它。 您可以依赖
此外,你的但不返回任何东西是不正确的。 它将返回对返回的jQuery对象的引用。 JavaScript中的对象总是很简洁,因此在条件下测试它不会告诉您选择器是否匹配任何元素。