繁体   English   中英

jQuery在标签之间查找文本

[英]jQuery find text between tags

免责声明:是的,我知道这个HTML的混乱。 它来自遗留应用程序。 不幸的是,更改HTML不是一种选择,因为它是一个包含许多依赖项的大页面。

那就是说,我有以下代码:

<tr>
    <th align="left" style="background:#CCCCCC;" nowrap="">
        <a class="ContentLink addLink" id="content">
            <img border="0" src="/tools/images/buttons/restore.gif" alt="edit (popup)">Add
        </a>
    </th>
    <th colspan="3" nowrap="" width="100%">
        <font id="maroon">Associated Computer(s)</font>
    </th>
</tr>

使用jQuery,我想得到font标签“Associated Computer(s)”之间的字符串。

我已经尝试过使用jQuery的findnext API,但它没有像我预期的那样工作。

我试过var myHeader_next = $(this).find("font"); 它返回一个对象。 当我使用var myHeader_trim = $.trim(myHeader_next); ,我得到[object Object]

我试过var myHeader_next = $(this).find("font").text(); var myHeader_trim = $.trim(myHeader_next); 对于两者,我得到了空白的答复。

$(document).ready(function () {
    $(".addLink").click(function(){
        var SR_ID = $("#SR_ID").val();
        var myHeader_next = $(this).find("font").text();
        var myHeader_trim = $.trim(myHeader_next);
        console.log(myHeader_next);
        console.log(myHeader_trim);
    });     
});

我有一种感觉,我不理解findnext正确,但不知道为什么。

你可以使用.html()。

$('#maroon').html()

回报

Associated Computer(s)

找到它的最简单方法是:

var myHeader_next = $(this).closest("tr").find("font");

这将在DOM更改中向上移动,直到找到第一个祖先<tr> ,然后.find("font")找到<tr>标记后代中的所有<font>标记。

此时,您应该具有正在查找的正确<font>元素,并且.text()将起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM