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());
这是最初的问题,我可以找人帮我,所以我正在尝试修改它。我将如何获得文本所属的span类id?
算法:
1. Found V from row looping and y looping
2. Find the span where it belongs to
假设应该选择具有V
文本内容的span
元素,则可以使用.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()
方法没有任何意义,因为它只返回一个元素。