(それがサポートquerySelector()
を行い、一方、IE 8は、例えば、getElementsByClassName()
をサポートしていない)私は、最初に一致したノード–なく供給を一致のNodeList –が返されdocument.querySelector()
を使用してお勧めCSSセレクタ:
var table = document.querySelector('.ep-dp-dt'),
rows = table.rows;
上記最初の(それは両方.ep-dp-dt
セレクタに一致する文書の最初の要素が存在していると仮定して)<table>
要素を取得し、ノードがのコレクションを取得するために使用すること変数をrows
変数に格納します。
for (var i = 0, len = rows.length; i<len; i++){
console.log(rows[i]);
}
それとも、最初の配列のように変換する場合は、代わりに、配列のメソッドを使用することができます:あなたがforループのいずれかを使用して、コレクションを反復処理する必要があります<tr>
要素で動作するように明らかに
Array.from()
を使用して配列にHTMLCollection
:
Array.from(rows).forEach(function(tr) {
console.log(tr);
});
あるいは、Array.fromは()ES6からである、とあなたは以下の代替が可能である古いブラウザをサポートする必要があるかもしれませんよう:
Array.prototype.slice.call(rows, 0).forEach(function(tr) {
console.log(tr);
});
はdocument.querySelector()
が指定されたセレクタに一致する最初のノードが返されながら、そのセレクタに一致する要素が文書内に見つからない場合、それは、null
を返すこと、この時点で、注目に値します。それはrows
コレクション取得しようとする前に、table
変数の存在をテストする価値があるかもしれないことを意味します
var table = document.querySelector('.ep-dp-dt'),
rows;
if (table) {
rows = table.rows;
}
を「*これは* HTMLである」 - いいえ、それはありません。これはDOMの写真です。あなたの質問にあなたの( "[* MCVE *]")HTMLを追加してください。 –
私はこの簡単な質問に多くの答えがあると感じています...私は自分自身を数えています。 – dayuloli
しかし今のところ。それらのどれも動作しません... – user2262304