如何使用jQuery将数据插入最近的td?

如何使用jQuery将数据插入最近的td?,jquery,html,Jquery,Html,我试图获取输入文本框的值,并将该值插入同一行中的td中 以下是我的HTML代码: <table class="test"> <tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Fish</td><td class="z">Chicken</td></tr> <tr &

我试图获取输入文本框的值,并将该值插入同一行中的td中

以下是我的HTML代码:

<table class="test">  
  <tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Fish</td><td class="z">Chicken</td></tr>
  <tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Cricket</td><td class="z">Tenis</td></tr>
  <tr ><td class="x"><input type="text" class="testinp"></td><td class="y">Watch</td><td class="z">Hat</td></tr>
</table>
现在我正在获取该值,但无法将其插入td。

在输入的子代中查找选择器,而不是父代。所以你需要使用$this.td

然后,您可以这样使用:

$(this).closest('td').siblings('td.z').text(val);

获取最近的tr,并查找具有z类的td:

在输入的子代(而不是父代)中查找选择器。所以你需要使用$this.td

然后,您可以这样使用:

$(this).closest('td').siblings('td.z').text(val);

获取最近的tr,并查找具有z类的td:

请尝试以下操作:

$(this).closest('td').next('td').html(val);
.find在DOM中不上升,而是下降。因此,您不会在输入字段下找到任何td

编辑:对不起,忘了删除。指向我复制并编辑了你的方法,应该是,下一步

尝试以下操作:

$(this).closest('td').next('td').html(val);
.find在DOM中不上升,而是下降。因此,您不会在输入字段下找到任何td

编辑:对不起,忘了删除。指向我复制并编辑了你的方法,应该是,下一步

试试这个

$('.testinp').keypress(function(e){
    if(e.which == 13){
        var val =  $(this).val();
        $(this).parent().parent().find('td').closest('.z').html(val);

    }
});
试试这个

$('.testinp').keypress(function(e){
    if(e.which == 13){
        var val =  $(this).val();
        $(this).parent().parent().find('td').closest('.z').html(val);

    }
});
可以使用同级查找类z

$'.testinp'.keypress函数{ ife.which==13{ var val=$this.val; $this.closest'td'。兄弟姐妹'td.z'。textval; } }; 鱼鸡 蟋蟀 帽子 可以使用同级查找类z

$'.testinp'.keypress函数{ ife.which==13{ var val=$this.val; $this.closest'td'。兄弟姐妹'td.z'。textval; } }; 鱼鸡 蟋蟀 帽子
这是另一个解决方案

$'.testinp'.keypress函数{ ife.which==13{ var val=$this.val; $this.closest'tr'。查找'td.z'。textval; } }; 鱼鸡 蟋蟀 帽子
这是另一个解决方案

$'.testinp'.keypress函数{ ife.which==13{ var val=$this.val; $this.closest'tr'。查找'td.z'。textval; } }; 鱼鸡 蟋蟀 帽子
也可能值得使用.text而不是.html.And.sibbines而不是.next:我不认为.next在这种情况下会匹配。文档中说:获取匹配元素集中每个元素紧跟其后的同级。如果提供了选择器,则仅当它与该选择器匹配时,它才会检索下一个同级。@Boaz您的建议有效。你能给出这个建议作为回答吗?可能也值得使用.text而不是.html.And.sides而不是.next:我不认为。next在这种情况下会匹配。文档中说:获取匹配元素集中每个元素紧跟其后的同级。如果提供了选择器,则仅当它与该选择器匹配时,它才会检索下一个同级。@Boaz您的建议有效。你能给出这个建议作为回答吗?这是他的标记:是的,有一个td?还是我遗漏了什么。编辑:谢谢,我现在知道了。我忘了取下钥匙。从上面的选择,完全错过了它。抱歉:这是他的标记:是的,有td?还是我遗漏了什么。编辑:谢谢,我现在知道了。我忘了取下钥匙。从上面的选择,完全错过了它。抱歉:请注意,最近的查找最近的父项而不是同级。请注意,最近的查找最近的父项而不是同级。AngularJS将是解决此问题的最佳方案AngularJS将是解决此问题的最佳方案