我会用一个例子来解释。
我们的html是这样的:
<span>ok
<span>1</span>
<a href=''></a>
</span>
我的jQuery代码是这样的:
$("a").live('click', function(){
var a = $(this).closest("span");
alert(a);
});
但它给了我“ok 1”的结果。我只想拥有“1”。
如何选择“附近标签”?
不要使用 .live,它已被弃用。
$("a").click(function(){
var a = $(this).prev("span").text();
alert(a);
});
您正在寻找一个兄弟元素,在这种情况下是前一个。使用.prev()
:
$("a").on('click', function(){
var a = $(this).prev("span");
alert(a);
});
请注意,这a
是一个 jQuery object
,因此警告它只会说[object Object]
.
.live()
我也改为.on()
因为.live()
已弃用。如果您的链接是动态生成的,则语法略有不同:
$(document).on('click', 'a', function(){
var a = $(this).prev("span");
alert(a);
});