0
以下のコードで何らかの理由でcurrentRow.cellsが{}を返します。それをどうやって確認できますか? currentRow.cellsが{}を返す場合、私は行を実行したくありません。JavaScriptの{}値をチェックする方法は?
currentRow = document.createElement("TR");
if(currentRow.cells.length > 0) { .. do something }
UPDATE 1:
私が欲しいのは、空のオブジェクトをチェックすることです。 currentRow.cellsが空のオブジェクトの場合は何もしないでください。
空のオブジェクトです。そして、質問は明確ではありません – zerkms
あなたは 'createElement( 'tr')'をやっています。これは新しい '
@Rocketはい空のオブジェクトをチェックする方法はありますか?それが空でない時があります。 – azamsharp
答えて
jQueryには
$.isEmptyObject()
というヘルパーメソッドがあります。このため彼らのコードは単純です:あなたは全体のjQueryライブラリを使用したくない場合は、この方法を暗礁や独自のコードベースのどこかにそれをドロップすることができます
!私は常に型HTMLCollectionのオブジェクトを取得
出典
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)ですので、これは動作しません'です。 –
:タイトルにあなたの質問に答えるために
出典
2012-05-09 22:03:28 Jordan
currentRow
は<tr>
(またはHTMLTableRowElement
)で、currentRow.cells
はHTMLCollection
(ないアレイ([]
)でありますオブジェクト({}
))。currentRow.cells
が未定義の場合は、current
行が<tr>
ではないことを意味します。これは別の要素です。DOM要素が空であるかどうかを確認するには、(これは
undefined
になることはありません)childNodes
を使用することができます。編集:まだ、
hasChildNodes
を使用できます。出典
2012-05-09 22:11:39
cells
プロパティは以下IE8との<tr>
では使用できません。運動は上記のようにchildNodes
を使用することです。次のコードでは、cells
が未定義であるかどうかを確認します。出典
2012-05-10 03:29:34 shingokko
関連する問題