使用jquery准确地从td获取文本

时间:2014-06-09 07:39:19

标签: jquery

我可以使用"包含"来使用td文本来获取行,但是如果它具有td>中的文本则会失败。 span text ..这是我的方案

<table id="tblAllMessages">
<tr><td>100</td><td><span>hi</span></td></tr>
<tr><td>200</td><td><span>100</span></td></tr>
</table>

如果我使用

$('#tblAllMessages td:contains('100')').parent("tr")

它会给我两行..但是,我只需要第一行。它不应该在第二行检查100,因为它在一个td的范围内。

我还需要添加其他内容吗?

3 个答案:

答案 0 :(得分:1)

试试这个:

(美化版)

$('#tblAllMessages td') .filter(function () { return $("<div/>").text($(this).html()).html()=='100' }) .closest("tr").css('background-color','red')

http://jsbin.com/wizacahi/2/edit

enter image description here

我使用的技巧是不在其中找到任何html实体。 (但纯文字)

答案 1 :(得分:0)

尝试使用:first,如下所示:

$('#tblAllMessages tr td:nth-child(6):contains("100"):not(:has(span)):first').closest('tr')

工作JSfiddle

有关:first的更多信息,请参阅:First API Doc

答案 2 :(得分:0)

试试这个,这将有效

$(document).ready(function(){




        var $pressTitle =$('#tblAllMessages').find('td:first');

        var pressTitle=$pressTitle.next().text(); 

       alert(pressTitle);  



    }); 
 </script>