我有一个非常简单的jquery问题,我无法正确,当点击链接时,我需要在右边的p中插入一些文本(之前的表格行)。
这是html:
<table>
<tr>
<td>
<p class='MyClass'>NOT HERE</p>
</td>
</tr>
<tr>
<td>
<p class='MyClass'>NOT HERE</p>
</td>
</tr>
.
. //Many table rows
.
<tr>
<td>
<p class='MyClass'>HERE I WANT TO INSERT THE TEXT</p>
</td>
</tr>
<tr>
<td>
<div>
<a href='#' class='MyLink'>insert text</a>
</div>
</td>
</tr>
</table>
这是jquery:
$('.MyLink').click(function() {
HOW CAN I MAKE SOME TEXT GO INTO THE RIGHT <p> HERE?
});
答案 0 :(得分:1)
$(this).closest('tr').prev('tr').find('.myClass').html('text here');
(未测试的)
答案 1 :(得分:0)
一个真正简单的方法是:
<p class='MyClass'>HERE I WANT TO INSERT THE TEXT</p>
一个类或ID,以便您可以直接引用它。例如:
<p id="insertHere" class='MyClass'>HERE I WANT TO INSERT THE TEXT</p>
然后你可以做类似的事情:
$('.MyLink').click(function() {
$("#insertHere").text($("#insertHere").text() + "SOME TEXT YOU WANT TO INSERT");
});
如果您想以其他方式指定“插入”P,只需将选择器从“#insertHere”更改为定义要插入哪个P的选择器。
另外,我认为:
$('.MyLink').click(function() {
$("#insertHere").append("SOME TEXT YOU WANT TO INSERT");
});
也会起作用(并且更短),但我不是100%肯定(所以先测试)。
答案 2 :(得分:0)
$(this).parents('tr:first').prev('tr').find('.myClass').html("The Text that you want");
.parents将dom带到你链接上方的第一个tr,然后prev('tr')带你到前一行,最后find查找tr以查找具有“.myClass”类的所有元素。