我需要一個對象是否存在其選擇頁面上的布爾值。檢查其選擇存在的對象,返回與jQuery或Javascript
這通常會做到這一點:
startpageentry = $('#' + startpageid)
但是,這並不返回任何東西。我需要一個布爾值,我可以放入,如果這樣的語句:
如果{}
我怎樣才能做到這一點(startpageentry =「假」!)?
我需要一個對象是否存在其選擇頁面上的布爾值。檢查其選擇存在的對象,返回與jQuery或Javascript
這通常會做到這一點:
startpageentry = $('#' + startpageid)
但是,這並不返回任何東西。我需要一個布爾值,我可以放入,如果這樣的語句:
如果{}
我怎樣才能做到這一點(startpageentry =「假」!)?
有針對,因爲它會阻止鏈接的布爾值。
您可以使用$(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
}
使用length
:
var startpageentry = $('#' + startpageid).length;
要保存布爾結果,使用:
var isPresent = $('#' + startpageid).length > 0;
現在,如果它存在false
否則isPresent
將是真實的。
或者乾脆:
if ($('#' + startpageid).length){
// exists
}
else {
// does not exist
}
取得布林與jQuery ...
var startpageentry = !! $('#' + startpageid).length;
沒有jQuery的...
var startpageentry = !! document.getElementById(startpageid);
當然,你不真的需要一個布爾值來測試它。你可以只依靠0
爲falsey(對於jQuery版本)或null
是falsey(對於非jQuery版本)。
此外,您但這並不返回任何是不正確的。它會返回對返回的jQuery對象的引用。 JavaScript中的對象始終是truthy,因此,在條件中測試它並不會告訴您選擇器是否匹配任何元素。
請參見http://計算器。 com/questions/299802 /你怎麼做檢查,如果一個選擇器存在於jquery – 2012-03-06 07:41:38
是'假'是一個錯字?你應該比較假,而不是'假'。或者,如果你知道它是一個布爾值,你應該比較!== false。 (或者只是!startpageentry) – Corbin 2012-03-06 07:44:53