我怎样才能获得角色的DOM位置

时间:2013-09-02 23:19:59

标签: javascript jquery

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

1 个答案:

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