2012-11-26 3 views
0

내 페이지 HTML에 테이블이 : 나는 클래스 참조 innerHTML을 값 = 3 내 테이블의 요소를 선택할 수있는 방법JQuery와 선택 (발견) 요소

<table id="myTab"> 
    <tr> 
     <td class="reference">1</td> 
     <td>item1</td> 
     <td>Info item - 1</td> 
    </tr> 
    <tr> 
     <td class="reference">2</td> 
     <td>item2</td> 
     <td>Info item - 2</td> 
    </tr> 
    <tr> 
     <td class="reference">3</td> 
     <td>item3</td> 
     <td>Info item - 3</td> 
    </tr> 
    <tr> 
     <td class="reference">4</td> 
     <td>item4</td> 
     <td>Info item - 4</td> 
    </tr> 
<table> 

?

var elem = $(".reference:contains('3')"); 

이있는 경우 :

var el = $(myTab).find('???') 
+2

내가 jQuery를 문서, 특히 HTTP를 읽어 보시기 바랍니다을 : //api.jquery를 .com/category/selectors /. 많은 시간을 절약 할 수 있습니다. –

답변

9

당신은 그냥 td 요소에 대한 참조를 원하는 가정, 당신이 표시 한 마크 업이 현재 구조의 범위, 당신은 :contains 선택을 사용할 수 있습니다 문자 3 (예 : 13)을 포함하는 다른 td 요소도 일치됩니다. 이 경우, .filter() 방법을 사용하는 것이 아마도 더 나은 :

var elem = $(".reference").filter(function() { 
    return $(this).text() === "3"; 
}); 
2
var el = $("#myTab").find("td.reference:contains(3)") 

... 가정 작동합니다 :contains selector 충분 - 그것은 어디에서 "3"(이 경우)에 일치하는지 주목 요소의 내용 당신이 정확히 일치해야하는 경우

당신은 .filter() 사용할 수 있습니다

var el = $("#myTab").find("td.reference") 
        .filter(function() { return $(this).html() === "3"; }); 
0

또는 순수 자바 스크립트 :

function func() { 
     var myTab= document.getElementById('myTab'); 
     var len = myTab.rows.length; 
     for (var r = 0; r < len; r++) { 
      var rowLen = myTab.rows[r].cells.length; 
      for (var cel = 0; cel < rowLen; cel++) { 
       if(myTab.rows[r].cells[c].innerHTML === "3" && myTab.rows[r].cells[c].className === "reference") 
       { 
        alert("found:"+myTab.rows[r].cells[c].innerHTML); 
       } 
      } 
     } 
    }