HTML
<div id="board">
<div>ab X</div>
<div>a <span class='target'>V</span> b</div>
<div>Xab</div>
<div>
我想在我的HTML中访问V
的DOM位置并提醒V
,我不能使用$('#board').eq(1).text().charAt(2)
。我需要它的DOM位置,以便我可以轻松跟踪包裹V
的范围。
这不起作用,这是正确的方法吗?
alert($('#board').eq(1).eq(2).text());
这是原始问题,我可以找一个可以帮助我的人,所以我试图修改它How will i get the span class id under which the text belongs?
ALGORTIHM:
1. Found V from row looping and y looping
2. Find the span where it belongs to
答案 0 :(得分:0)
假设应选择span
个包含V
文字内容的元素,您可以使用.filter()
方法:
var $span = $('#board span').filter(function() {
return (this.textContent || this.innerText) === 'V';
});
获取所选元素的索引:
$span.index();
span的父元素的文本内容中V
个字符的索引:
var vIndex = $span.parent().text().indexOf('V');
请注意,jQuery返回所选元素的jQuery包装数组,因为您使用ID选择器,返回的集合只有一个包装器/顶级选定元素:
Object[div#board]
.eq(1)
(就像从简单数组中通过索引获取元素)返回集合中不存在的第二个顶级选定元素。除了以这种方式链接.eq()
方法之外没有任何意义,因为它只返回一个元素。