0
由於某些原因,在下面的代碼中currentRow.cells返回{}。我該如何檢查?如果currentRow.cell返回{},我不想執行行。如何檢查JavaScript中的{}值?
currentRow = document.createElement("TR");
if(currentRow.cells.length > 0) { .. do something }
更新1:
所有我想要的是檢查空對象。如果currentRow.cells是一個空對象,則什麼也不做。
它是一個空對象。問題不明確 – zerkms
你正在做'createElement('tr')'。這不會產生一個新的'
@火箭是如何檢查空物體。有時候它不是空白的。 – azamsharp
回答
jQuery有一個名爲
$.isEmptyObject()
的輔助方法。他們對這個代碼很簡單:
如果你不想使用整個jQuery庫,你可以嵌入此方法,並在自己的代碼庫的地方摔了!
來源
2012-05-09 22:01:03 Jason
問題是'currentRow.cells'不是一個普通的對象,它是['HTMLCollection'](https://developer.mozilla.org/En/DOM/HTMLCollection),所以這是行不通的。 –
我只是回答OP問的問題:「我想要的只是檢查空物體。」 – Jason
「如果currentRow.cells是一個空對象」不幸的是,這將無法檢查currentRow.cells是否爲空對象。它所要做的就是告訴你currentRows.cells是否爲undefined。 –
要回答你的問題標題:
來源
2012-05-09 22:01:21 stewe
問題是'currentRow.cells'不是一個普通的對象,它是['HTMLCollection'](https://developer.mozilla.org/En/DOM/HTMLCollection),所以這是行不通的。 –
我總是類型的HTMLCollection的對象。
你應該能夠再檢查使用這樣的代碼集合的長度:
來源
2012-05-09 22:03:28 Jordan
currentRow
是<tr>
(或HTMLTableRowElement
),並currentRow.cells
是HTMLCollection
(不是數組([]
)或一個對象({}
))。如果
currentRow.cells
未定義,表示current
行不是<tr>
,這是另一個元素。要檢查DOM元素是否爲空,可以使用
childNodes
(這將是從不是undefined
)。編輯:更好的是,您可以使用
hasChildNodes
。來源
2012-05-09 22:11:39
cells
財產<tr>
在IE8及以下不可用。如上所述,鍛鍊是使用childNodes
。以下代碼檢查cells
是否未定義:來源
2012-05-10 03:29:34 shingokko
相關問題