Javascript jQuery根据元素中的文本选择元素
如何选择包含特定文本的标记,而不选择其他内容?例如,如果我有以下内容:Javascript jQuery根据元素中的文本选择元素,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,如何选择包含特定文本的标记,而不选择其他内容?例如,如果我有以下内容: <table> <tr> <td>Assets</td><td>Asset</td> </tr> <tr> <td>Play</td><td>Players</td><td>Plays</td> &l
<table>
<tr>
<td>Assets</td><td>Asset</td>
</tr>
<tr>
<td>Play</td><td>Players</td><td>Plays</td>
</tr>
</table>
资产资产
球员
是否有任何方式可以选择资产
,而不选择其他内容。我用contains
尝试了它,也就是$(“table tr td:contains(Play)”)
但是它在第二个tr
中返回了所有td
(应该是这样的)。而我只想玩
有什么方法可以实现这一点,比如有一种方法可以根据元素的属性选择元素。有没有办法根据元素中的文本选择元素?试试下面的方法:
$("table tr td").filter(function() {
return $(this).text() === "Play";
})
那么:
var lookup = 'Asset';
$('td:contains('+ lookup +')').filter(function() {
return $(this).text() === lookup;
});
演示
如果它是一个输入字段,您可以指定类似的内容,但使用$('input[name~=“Plays”])会更精确一些,这样它会过滤掉所有其他单词,使值保持隔离状态 除此之外,我所知道的对表执行此操作的唯一方法是使用您所拥有的,但也会抛出一个条件语句来检查其中的文本 以下是我对实现这一点的看法:
var play=$('table tr td:contains(play)');
for(变量i=0,l=play.length;i
var play = $('table tr td:contains(Play)');
for (var i = 0, l = play.length; i < l; i++) {
if ($(play[i]).text() === "Play") {
// your script to modify below
$(play[i]).css({"color" : "red"});
}
}