我正在尝试从下面的html中选择文本3 This is
时获得最接近的锚标记。
所以我想获得最接近的锚标签ID。
所以我想获得ID为a_3
的锚标签或ID为sp_3
的标签跨度
<a id="a_1"></a><span id="sp_1">1</span><value>This is the text 1</value>
<a id="a_2"></a><span id="sp_2">2</span><value>This is the text 2</value>
<a id="a_3"></a><span id="sp_3">3</span><value>This is the text 3</value>
<a id="a_4"></a><span id="sp_4">4</span><value>This is the text 4</value>
var anchorTag = $('#sp_3').closest("A");
预期的输出是
<a id="a_3"></a>
但它回来了
init [prevObject: init(1), context: undefined]
请帮助我
答案 0 :(得分:1)
使用prev
。 span
没有嵌套在anchor
中,它是同级的。因此,closest
将不起作用。 closest
开始在元素本身上搜索selector
,并遍历其祖先。
var anchorTag = $('#sp_3').prev('a');
var anchorTag = $('#sp_3').prev('a');
console.log(anchorTag[0]);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a id="a_1"></a><span id="sp_1">1</span>
<value>This is the text 1</value>
<a id="a_2"></a><span id="sp_2">2</span>
<value>This is the text 2</value>
<a id="a_3"></a><span id="sp_3">3</span>
<value>This is the text 3</value>
<a id="a_4"></a><span id="sp_4">4</span>
<value>This is the text 4</value>
答案 1 :(得分:0)
您可以简单地在要单击的特定元素上使用click事件。 尝试将其与您的问题联系起来可能会有所帮助。 :)
$("#myid").on("click",function(){
alert(this.id);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#" id="myid"><span id="spanID">click here</span></a>