Javascript / Jquery:获取元素中的char索引

时间:2013-05-20 11:12:58

标签: javascript jquery

有没有一种简单的方法来获取元素中的char索引?例如,如果我正在查看下面的第一个范围,那么我想知道它的第一个字符是li中的第七个字符。我只需要知道元素中的字符(没有文本节点),但可能有文本节点,并且它们的字符会“计数”。

<li id = "li">
    <p>0123</p>
    <div>4
      <span id = "span">5</span>
      <span>67</span>
    </div>
    8
</li>

编辑:为上面的元素添加了ID。然后像:

index = getIndexOfFirstChar($("#span"), $("#li"))

请注意,字符不是唯一的。我使用数字,但它可以是任何文本。

1 个答案:

答案 0 :(得分:0)

你可以混合使用.text()(获取没有HTML的内部文本),.replace()(删除空格)和.indexOf()来获取索引:

var clearTextWithNoWhitespace = $('li').text().replace(/\s+/g, '');
var index = clearTextWithNoWhitespace.indexOf('5');

console.log(clearTextWithNoWhitespace); //012345678
console.log(index); //5

JSFiddle DEMO

如果要包含空格:

var index = $('li').text().indexOf('5');
console.log(index); //22

JSFiddle DEMO