我希望在之前的td输入中有一些keyup后输入一些<p>NewText</p>
到下一个td。例如,如果输入文本字段位于表的第二个td中,那么在我创建一些键入后,表格的第三个td中会出现一些<p>NewText</p>
。我想在没有ID,名字,类等的情况下完成它。
我的代码中的问题是<p>NewText</p>
在第二个和第三个td之间插入。我不知道怎么把它放进第三个td。
HTML:
<table>
<tr>
<td>Text</td>
<td><input type="text" onkeyup="scripts(this)" /></td>
<td></td>
<td></td>
</tr>
</table>
使用Javascript:
function scripts($this) {
$this.parentNode.nextSibling.innerHTML = '';
if ($this.value !== '') {
$("<p>NewText</p>").insertAfter($this.parentNode);
};
};
答案 0 :(得分:2)
首先:不要调用函数function
。一旦你修复了:
jQuery的closest
可以带你到第一个匹配的祖先元素,然后next
可以带你从那里到下一个兄弟。所以:
function someName(rawElement) {
var $el = $(rawElement);
$el.closest('td').next().html("This markup will replace the content of the next cell");
}
(注意第一行,因为你传递给函数的不是jQuery对象,它是一个DOM元素。)
答案 1 :(得分:0)
一个名为“function”的函数? Errr。
无论如何,这应该只是起作用:
function function($this) {
if ($this.value) $this.parentNode.nextSibling.innerHTML = "<p>NewText</p>";
};