我的页面上有一个表格html:
<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 value = 3?
选择我的表的元素var el = $(myTab).find('???')
答案 0 :(得分:9)
假设您想要仅引用td
元素,并且您显示的标记是当前结构的范围,您可以使用:contains
选择器:
var elem = $(".reference:contains('3')");
如果您有其他td
元素包含字符3
(例如13
),那么它们也会匹配。在这种情况下,最好使用.filter()
方法:
var elem = $(".reference").filter(function () {
return $(this).text() === "3";
});
答案 1 :(得分: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"; });
答案 2 :(得分: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);
}
}
}
}