免责声明:是的,我知道这个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的find
和next
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);
});
});
我有一种感觉,我不能正确理解find
和next
,但不知道为什么。
答案 0 :(得分:1)
您可以使用.html()。
$('#maroon').html()
返回
Associated Computer(s)
答案 1 :(得分:1)
找到它的最简单方法是:
var myHeader_next = $(this).closest("tr").find("font");
这会改变DOM更改,直到找到第一个祖先<tr>
,然后.find("font")
找到<font>
标记后代中的所有<tr>
个标记。
此时,您应该拥有正在寻找的正确的<font>
元素,.text()
将起作用。