繁星點(diǎn)點(diǎn)滴滴
2019-05-27 16:57:48
jQuery是否存在“存在”功能?如何在jQuery中檢查元素的存在?我當(dāng)前的代碼是這樣的:if ($(selector).length > 0) {
// Do something}有更優(yōu)雅的方式來(lái)解決這個(gè)問(wèn)題嗎?也許是插件或功能?
4 回答

慕雪6442864
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
在JavaScript中,一切都是'真實(shí)'或'虛假',而數(shù)字0
(和NaN)意味著false
,其他一切true
。所以你可以寫(xiě):
if ($(selector).length)
你不需要那個(gè)>0
部分。

元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
是!
jQuery.fn.exists = function(){ return this.length > 0; }if ($(selector).exists()) { // Do something}
這是對(duì)Jeff Atwood的Herding Code播客的回應(yīng)

郎朗坤
TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果你用過(guò)
jQuery.fn.exists = function(){return ($(this).length > 0);}if ($(selector).exists()) { }
你會(huì)暗示鏈接是可能的,但事實(shí)并非如此。
這會(huì)更好:
jQuery.exists = function(selector) {return ($(selector).length > 0);}if ($.exists(selector)) { }
或者,從FAQ:
if ( $('#myDiv').length ) { /* Do something */ }
您還可以使用以下內(nèi)容。如果jQuery對(duì)象數(shù)組中沒(méi)有值,那么獲取數(shù)組中的第一個(gè)項(xiàng)將返回undefined。
if ( $('#myDiv')[0] ) { /* Do something */ }

繁花如伊
TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
你可以用這個(gè):
// if element existsif($('selector').length){ /* do something */ }
// if element does not existif(!$('selector').length){ /* do something */ }
添加回答
舉報(bào)
0/150
提交
取消