我将如何获得角色的DOM位置



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()方法没有任何意义,因为它只返回一个元素。

最新更新