2014-07-13 7 views
0

일 때 상위 노드의 innerHTML 가져 오기 item 값을 검색하기 위해 NodeList를 반복 할 때 c 태그의 값이 text 일 때?중첩 노드 값이

HTML

<td class="one"> 
    <div> 
    <b> 
     <span>item</span> 
    </b> 
    <div> 
     <c>text</c> 
    </div> 
    </div> 
</td> 

당신은 관련 세포를 통해 루프, 그리고 그들의 후손을 확인할 수 있습니다

search = "text"; 
data = document.querySelectorAll(".one, b span, c"); 
for (i=0; i<data.length; i++) 
{ 
    txt=data[i].innerHTML; 
    //console.log(txt) 

    // not empty 
    if (txt) { 
    //indexOf [position] returns -1 if not found 
    var s = txt.indexOf(search); 
    if (s > -1) { 
     console.log(txt) 
    } 
    } 
} 

답변

1

자바 스크립트 :

var search, list, index, span, c; 
search = "text"; 
list = document.querySelectorAll(".one"); 
for (index = 0; index < list.length; ++index) { 
    c = list[index].querySelector("c"); 
    if (c && c.innerHTML.indexOf(search) !== -1) { 
     span = list[index].querySelector("b span"); 
     if (span) { 
      console.log(span.innerHTML); 
     } 
    } 
} 

나는 bc이 유효 HTML하지 참고 불과하지만, 나는 그들이 뭔가에 서 가정 ...

+1

위시 내가 두 번 방금 투표 수있는'VAR 검색, 목록, 인덱스, 범위, C에 대한; ' – GillesC

관련 문제