2009-06-17 9 views
0

これは最も簡単な問題ですが、私は答えを見つけることができず、暗闇の中を探索しているので少し助けていただければ幸いです。私はclass = 'song_artist'というノードのテキストを取得しようとしています。親ノードへの参照がありますが、探しているテキストにアクセスできません。私のHTMLは次のようになります。JavaScriptを使用してテーブルを移動するDOM

<tr id='0000moe2008-05-23d01t01_vbr' class='row-even'><td class='song_name'>Captain America<h3> (00:00)</h3></td><td class='song_artist'>moe.</td><td class='song_date'>2008-05-23</td><td class='song_location'>Jones Beach, VA</td></td><td class='song_extras'></td></tr> 
<tr id='00011-01_Rock_And_Roll_Part_2' class='row-odd'><td class='song_name'>Rock and Roll part 2<h3> (00:00)</h3></td><td class='song_artist'>Phish</td><td class='song_date'>1998-11-20</td><td class='song_location'>Jones Beach, VA</td></td><td class='song_extras'></td></tr> 
<tr id='00021-03_Quinn_The_Eskimo' class='row-even'><td class='song_name'>Quinn the Eskimo<h3> (00:00)</h3></td><td class='song_artist'>Phish</td><td class='song_date'>1998-11-20</td><td class='song_location'>Jones Beach, VA</td></td><td class='song_extras'></td></tr> 

と私が言ったように、私は<tr>への参照を持っていますが、私が探している<td>にそれを作ることができません。私は完全な参照が次のように見えると仮定します:parent.firstChild.nextSibling.dataしかし、私はそれで行き止まりのすべての種類を取得し続けます。ここのJavaScriptの達人?

あなたが行うことができます

答えて

5

var collection = document.getElementsByTagName("td"); 
for(var i = 0; i < collection.length; ++i) 
{ 
     if (collection[i].getAttribute("class") === "whateveryouwant") 
     { 
     } 
} 

しかし、jqueryのようにJavaScriptのフレームワークを使用して切り替えるには、私のアドバイスは、あなたがする必要があります唯一のものであるため:純粋なJavaScriptで

var element = $("td.song_artist") //here you get all element you are looking for 
+0

実際、$( "tr.song_artist")はできるだけ高速になります。 –

+0

あなたは$( "td.song_artist")を意味すると思います:o) –

+0

Allright、私は持っています var bandElm = currElm.getElementsByTagName( "td"); (varElm [i] .getAttribute( "class")=== 'song_artist') for(var i = 0; i danwoods

1

var elements = document.getElementsByClassName('song_artist') 
for (var i=0; i<elements.length; i++){ 
    text = elements[i].innerHTML; 
} 

標準警告:JavaScriptのFRAMを使用します代わりにework。

関連する問題