我有一个字符串,只包含以下HTML:
<p id="p1">Hello there</p>
<p id="p2">Hello there</p>
第一个“Hello”的“o”位于字符串内的索引15处。
给定索引i
,例如i = 15
,我想找到该索引处的字符所在的HTML DOM。
在我的示例中,它位于id="p1"
段中。
如何以编程方式找出索引i
中的字符位于标记字符串中的哪个父DOM?
实现是这样的:我们对文章的HTML进行了一些更改,每个差异由起始索引和结束索引表示。我们如何获得更改所在文章的段落?
起初我想过使用jQuery:contains,在这里我们可以找到更改的DOM,因为我们知道它是什么。但如果更改是单个空格,搜索将找到多个结果。
答案 0 :(得分:1)
从索引0到16创建一个新的div元素。在新创建的div元素中找到最后一个div。
var html = $("#content").html();
var index = 16;
var d = $("<div></div>");
d.html(html.substr(0, index));
var result = d.find("p").last();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="content">
<p id="p1">Hello there</p>
<p id="p2">Hello there</p>
</div>