就像
<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(为什么它不会删除两个对象)?
谢谢..
答案 0 :(得分:3)
prev的文档说:
获取匹配元素集中每个元素的前一个兄弟,可选择由选择器过滤。
删除<textarea>
后,该元素为<br>
。由于它与input
不匹配,因此生成的jQuery对象不包含任何元素。然后删除这0个对象。
我怀疑更好的解决问题的方法是将所有元素包装在<div>
(或具有更适合上下文的语义的容器)中并删除 (而不是依次删除每个元素。)
答案 1 :(得分:0)
或者您也可以使用prevAll。这将选择所有先前的兄弟元素,然后由选择器过滤:
$(OBJ).prevAll( '输入')除去();