簡體   English   中英

jQuery選擇(查找)元素

[英]jquery select (find) element

我的頁面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('???')

假設您只想引用該td元素,並且所顯示的標記是當前結構的范圍,則可以使用:contains選擇器:

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

如果您還有其他包含字符3 (例如13 )的td元素,它們也會被匹配。 在這種情況下,最好使用.filter()方法:

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

...將在:contains選擇器足夠好的前提下工作-注意(在這種情況下)在元素內容內的任何位置都匹配“ 3”。

如果需要完全匹配,可以使用.filter()

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM