2009-06-17 7 views
0

을 사용하여 테이블을 가로 지르는 중 이것이 가장 간단한 문제라는 것을 알고 있지만 답변을 찾지 못하고 어둠 속에서 검색 중이므로 약간의 도움을 주시면 감사하겠습니다. 나는 class = 'song_artist'노드에서 텍스트를 얻으려고합니다. 부모 노드에 대한 참조가 있지만 찾고있는 텍스트에 연결할 수 없습니다.자바 스크립트 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>에 그것을 만들 수 없습니다 : 내 HTML은 다음과 같습니다. 나는 완전한 참조가 다음과 같이 보일 것이라고 가정한다 : parent.firstChild.nextSibling.data 그러나 나는 모든 종류의 그것으로 막 다른 길을 계속 얻는다. 여기에 자바 스크립트 전문가가 있습니까?

답변

5

당신은 할 수 있습니다 :

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

을하지만 이후, JQuery와 같은 자바 스크립트 프레임 워크를 사용하여 전환 내 조언은 다음 유일한 것은 당신이 할 필요가있다 : 순수 자바 스크립트에서

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"); (bandElm [i] .getAttribute ("class") === 'song_artist') {var band = bandElm [i] .innerHtml; } } 해당 밴드는 계속 정의되지 않습니다. 왜 이럴 수 있니? 추신 응답을 주셔서 감사합니다 ... – danwoods

1

:

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

표준 경고 : 자바 스크립트 프레임을 사용하십시오. ework 대신.

관련 문제