Javascript 查找具有特定文本的td,并在所有td';它在右边吗?
这可能看起来有点像我的上一个问题(),但实际上是不同的 我有一张这样的桌子,这次:Javascript 查找具有特定文本的td,并在所有td';它在右边吗?,javascript,jquery,css,Javascript,Jquery,Css,这可能看起来有点像我的上一个问题(),但实际上是不同的 我有一张这样的桌子,这次: <table class="test"> <tr> <td>Row 1</td><td>Text 1-1</td><td>Text 1-2</td> ...... <td>Text 1-n</td> </tr> <tr> <td>R
<table class="test">
<tr>
<td>Row 1</td><td>Text 1-1</td><td>Text 1-2</td> ...... <td>Text 1-n</td>
</tr>
<tr>
<td>Row 2</td><td>Text 2-1</td><td>Text 2-2</td> ...... <td>Text 2-n</td>
</tr>
<tr>
<td>Row 3</td><td>Text 3-1</td><td>Text 3-2</td> ...... <td>Text 3-n</td>
</tr>
<tr>
<td>Row 4</td><td>Text 4-1</td><td>Text 4-2</td> ...... <td>Text 4-n</td>
</tr>
<tr>
<td>Row 5</td><td>Text 5-1</td><td>Text 5-2</td> ...... <td>Text 5-n</td>
</tr>
</table>
如何解决这个问题?还有其他类型的资源可以让您选择DOM上的元素,或者根据您已经拥有的代码更改:
$(".test td:contains(Row 3)")
.nextAll().text(function(){
return $(this).text() + "xyz"
});
有了jquery,您可以使用,但它不适合,请使用
对于行,使用“eq()”,得到如下第5行:
$("table.test tr:eq(4) td").each(function() {
if ($(this).html()!="Row 5")
$(this).append("xyz");
});
或:
阅读手册了解jquery的功能将是一个良好的开端:DOM是一个树,您需要标准的树操作方法,包括查找附近的相关元素。使用相同的方法,而不是使用
next
使用nextAll
或兄弟谢谢。。nextAll()成功了D如果你回答,我会记下来的!
$("table.test td").each(function() {
if ($(this).html() == "Text 2-1")
$(this).append("xyz");
});
$("table.test tr:eq(4) td").each(function() {
if ($(this).html()!="Row 5")
$(this).append("xyz");
});
$("table.test tr td").each(function() {
if ($(this).parent().children().html()=="Row 5" && $(this).html()!="Row 5")
$(this).append("xyz");
});