2012-11-26 115 views
0

我有一個表在我的頁面的html: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> 

如何選擇我的表與類引用的innerHTML值= 3的元素?

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

我建議你閱讀jQuery的文檔,尤其是HTTP://api.jquery .COM /分類/選擇/。你會節省很多時間。 –

回答

9

假設你想只是td元素的引用,還有你的標記是當前的結構的程度,您可以使用:contains選擇:

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

如果你有其他td元素包含字符3(例如13)他們也將被匹配。在這種情況下,它可能會更好使用.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

還是一個純javascript:

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); 
       } 
      } 
     } 
    }