有没有一种简单的方法来获取元素中的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"))
请注意,字符不是唯一的。我使用数字,但它可以是任何文本。
答案 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
如果要包含空格:
var index = $('li').text().indexOf('5');
console.log(index); //22