簡體   English   中英

通過選擇器檢查對象是否存在,並使用jQuery或Javascript返回布爾值

[英]Check if an object exists by its selector, return a boolean value with jQuery or Javascript

我需要通過選擇器查看頁面上是否存在對象。

這通常會這樣做:

startpageentry = $('#' + startpageid)

但這並沒有返回任何東西。 我需要一個布爾值,我可以將它放入這樣的if語句中:

如果(startpageentry!='false'){}

我怎樣才能做到這一點?

使用length

var startpageentry = $('#' + startpageid).length;

要存儲布爾結果,請使用:

var isPresent = $('#' + startpageid).length > 0;

現在,如果isPresent存在,則為false否則為false

或者簡單地:

if ($('#' + startpageid).length){
  // exists
}
else {
  // does not exist
}

沒有布爾值,因為它將阻止鏈接。
您可以使用$(something).length>0
但是,如果您需要一遍又一遍地運行,我制作了一個小jQuery插件,名為doesExist()

/* doesExist PLUGIN (c) MS */
/* (c) Michael Stadler(MS), */
(function($){
$.fn.doesExist = function()
{
return jQuery(this).length > 0;
};
})(jQuery);

它的用法是

if($('#something').doesExist()){
      //doesExist returns a boolean
}

要使用jQuery獲取布爾值...

var startpageentry = !! $('#' + startpageid).length;

沒有jQuery ...

var startpageentry = !! document.getElementById(startpageid);

當然,您實際上並不需要布爾值來測試它。 您可以僅依靠0來表示錯誤 (對於jQuery版本)或null來表示錯誤 (對於非jQuery版本)。

另外,您的但不返回任何內容也不正確。 它將返回對返回的jQuery對象的引用。 JavaScript中的對象始終是真實的 ,因此在條件下對其進行測試不會告訴您選擇器是否匹配任何元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM