这似乎有点类似于我的上一个问题(找到带有特定文本的td,并在该文本之后对td进行操作?),但这实际上是另一回事。
我有一张这样的桌子,这次是:
<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>基本上它有行,现在它有无限的列数。
我需要对带有特定文本的td进行修改,然后对其右侧的所有td进行操作。要查找的文本将始终来自最左边的td,因为它将是行标题文本。
因此,例如,我可能希望找到一个带有文本Row 3的Row 3,然后我需要将xyz附加到这个td (包含文本Row 3)右侧的所有td的文本中。
因此,在我的示例中,包含td的td右侧的所有Row 3都将更改其文本:
Text 3-1 --> Text 3-1xyz
Text 3-2 --> Text 3-2xyz
.
.
.
Text 3-n --> Text 3-nxyz我该怎么解决这个问题?
发布于 2014-01-24 19:49:27
还有其他类型的资源可以让您根据您已经拥有的代码选择DOM上的元素,如nextAll()或siblings(),只需更改:
$(".test td:contains(Row 3)")
.nextAll().text(function(){
return $(this).text() + "xyz"
});发布于 2014-01-24 19:50:26
使用jquery,您可以使用包含选择器,但它不合适,请使用jQuery.each()。
$("table.test td").each(function() {
if ($(this).html() == "Text 2-1")
$(this).append("xyz");
});http://jsbin.com/IrEpeTE/1/edit
对于行使用"eq()",获取第5行,如下所示:
$("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");
});https://stackoverflow.com/questions/21341058
复制相似问题