首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何使用jquery删除td标记中的内容

如何使用jquery删除td标记中的内容
EN

Stack Overflow用户
提问于 2013-04-15 20:11:02
回答 5查看 32.4K关注 0票数 3

我有一个定义如下的表

代码语言:javascript
代码运行次数:0
运行
复制
<table>
  <tr>
    <td>
       <input type='text' />
    </td>
    <td>
      <button id ='first'>Button</button>
    </td>
    <td>
      <input type='text' />
   </td>
 </tr>

代码语言:javascript
代码运行次数:0
运行
复制
$("#first").live('click',function(){
    $(this).prev().remove();
    $(this).remove();
});

如何删除td中的前一个元素。但我不想删除td

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-04-15 20:19:29

如果你想删除前一个TD的完整内容(而不是一个特定的输入元素),这是可行的:

代码语言:javascript
代码运行次数:0
运行
复制
$(document).on("click", "#first", function() {
    $(this).closest("td").prev().empty();
});
票数 8
EN

Stack Overflow用户

发布于 2013-04-15 20:20:10

http://jsfiddle.net/sfHBn/1/

代码语言:javascript
代码运行次数:0
运行
复制
$(document).on("click", "#first", function() {
    $(this).closest("td").prev().html("");
});

这将删除先前td标记中的所有内容。

票数 3
EN

Stack Overflow用户

发布于 2013-04-15 20:14:35

您应该沿着DOM树向上直到父<td>,然后获取前一个<td>,在其中找到<input>并将其删除。您应该使用带有事件委派的on(),而不是过时的live()

代码语言:javascript
代码运行次数:0
运行
复制
$(document).on("click", "#first", function() {
    $(this).closest("td").prev().find("input").remove();
});

请注意,您可以使用#first的任何其他静态父元素来代替document

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16014830

复制
相关文章

相似问题

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