+ -
当前位置:首页 → 问答吧 → 求选择器层次问题的,next相反的用法

求选择器层次问题的,next相反的用法

时间:2009-06-23

来源:互联网

prev + next
匹配所有紧接在 prev 元素后的 next 元素

HTML 代码:

<form>
  <label>Name:</label>
  <input name="name" />
  <fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:

$("label + input")
结果:

[ <input name="name" />, <input name="newsletter" /> ]


现求匹配所有紧接在 next 元素前的prev  元素的用法及方式

作者: janchie   发布时间: 2009-06-23

$("input:not(label + input)")

不过现在lable前没有input,所以你可以换个html

作者: keakon   发布时间: 2009-06-23

首先,谢谢楼上。但是这样子还是没解决问题,比如,在上下文中怎么取前一个元素?

$(function(){
   $("input[type='button'][value='删除本行两个input'] ").click(function(){
   //删除前一个input,这里怎么写???????
   $(this).remove():
   });
})

<div>
<input type="button" value="test"/> <input type="button" value="删除本行两个input"/>

<input type="button" value="test"/> <input type="button" value="删除本行两个input"/>

<input type="button" value="test"/> <input type="button" value="删除本行两个input"/>
</div>
[ 此帖被janchie在2009-06-23 11:46重新编辑 ]

作者: janchie   发布时间: 2009-06-23

想简单的话,就这样写
$("div>:button[value='删除本行两个input']).prevAll().remove()

直接用选择器也行,上下文可以作为$()的第2个参数

作者: keakon   发布时间: 2009-06-23

很好,换个思路也行。3Q

作者: janchie   发布时间: 2009-06-23