我将用一个例子来解释。
我们的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”。
如何选择“附近的标签”?
答案 0 :(得分:3)
答案 1 :(得分:3)
不要使用.live,不推荐使用。
$("a").click(function(){
var a = $(this).prev("span").text();
alert(a);
});
<强> JSFIDDLE 强>
答案 2 :(得分:-1)
你正在寻找一个兄弟元素,在这种情况下是前一个元素。使用.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);
});