javascript - 如何删除上一个 .上一个对象? JavaScript .prev().remove();

标签 javascript jquery

就像

<input name="fails[]" type="file" size=40 /><br />
<textarea name="apraksts[]">About</textarea>
<a href="#" onclick="remove(this);return false".....>remove</a>

还有 JavaScript:

function remove(obj){
 $(obj).prev('textarea').remove();
 $(obj).prev('input').remove();
 $(obj).remove();
 }

为什么它不删除 INPUT(为什么它不删除两个对象)?

谢谢..

最佳答案

上一个的文档说:

Get the immediately preceding sibling of each element in the set of matched elements, optionally filtered by a selector.

删除 <textarea> 后,该元素是 <br> 。因为它不匹配 input ,生成的 jQuery 对象不包含任何元素。然后删除这 0 个对象。

<小时/>

我怀疑解决这个问题的更好方法是将所有元素包装在 <div> 中。 (或者具有更适合上下文的语义的容器)并删除那个(而不是依次删除每个元素)。

关于javascript - 如何删除上一个 .上一个对象? JavaScript .prev().remove();,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10334087/

相关文章:

javascript - JQuery 或 vanilla Javascript 中的 DOM Mutation 事件

javascript - ng-show 挂起我的整个应用程序

javascript - 字符集问题: external javascript file drops non-ASCII characters in HTML

javascript - 输入后,在 db 中搜索字符串

javascript - 在 HTML 表格中查找 td 旁边的 td 文本

javascript - 使用 javascript 而不是 jquery

java - jetty websockets 发送二进制数据(图片)

javascript - 自动运行功能

javascript - 具有相同类的每个输入的 jQuery Focus/Blur - 有问题

javascript - 如何使选择框下拉菜单变短