首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript插入元素到下一个表td中,而不使用ID、名称等

Javascript插入元素到下一个表td中,而不使用ID、名称等
EN

Stack Overflow用户
提问于 2014-01-27 12:59:15
回答 2查看 1.7K关注 0票数 1

我想把一些<p>NewText</p>输入到下一个td中,在之前的td输入有一些按键之后。例如,如果输入文本字段位于表的第二个td中,那么在我对表的第三个td进行一些键化之后,就会出现一些<p>NewText</p>。我想在没有ID、名字、类等的情况下完成它。

我的代码中的问题是<p>NewText</p>在第二和第三个td之间插入。我不知道怎么把第三个td放进去。

HTML:

代码语言:javascript
运行
复制
<table>
    <tr>
        <td>Text</td>
        <td><input type="text" onkeyup="scripts(this)" /></td>
        <td></td>
        <td></td>
    </tr>
</table>

Javascript:

代码语言:javascript
运行
复制
function scripts($this) {
    $this.parentNode.nextSibling.innerHTML = '';

    if ($this.value !== '') {
        $("<p>NewText</p>").insertAfter($this.parentNode);
    };
};
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-27 13:03:39

首先:不要调用函数function。一旦你修好了:

jQuery的closest可以带您到第一个匹配的祖先元素,然后next可以带您从那里转到下一个同级。所以:

代码语言:javascript
运行
复制
function someName(rawElement) {
    var $el = $(rawElement);
    $el.closest('td').next().html("This markup will replace the content of the next cell");
}

(注意第一行,因为传入函数的不是jQuery对象,而是DOM元素。)

票数 2
EN

Stack Overflow用户

发布于 2014-01-27 13:03:51

一个叫做“函数”的函数?错误。

不管怎么说,这应该很简单:

代码语言:javascript
运行
复制
function function($this) {
    if ($this.value) $this.parentNode.nextSibling.innerHTML = "<p>NewText</p>";
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21381561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档