-1

我会用一个例子来解释。

我们的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”。

如何选择“附近标签”?

4

3 回答 3

3

尝试

var a = $(this).prev("span");

jsFiddle 示例

仅供参考,我相信自 1.7 以来.live()已被弃用。.on()

于 2013-08-09T18:30:15.650 回答
3

不要使用 .live,它已被弃用。

$("a").click(function(){

var a = $(this).prev("span").text();

alert(a);

});

JSFIDDLE

于 2013-08-09T18:30:35.767 回答
-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);
});
于 2013-08-09T18:28:57.893 回答