Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 给定HTML字符串中的索引,查找最接近的(父)DOM元素_Javascript_Jquery_Html - Fatal编程技术网

Javascript 给定HTML字符串中的索引,查找最接近的(父)DOM元素

Javascript 给定HTML字符串中的索引,查找最接近的(父)DOM元素,javascript,jquery,html,Javascript,Jquery,Html,我有一个字符串,仅包含以下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进行了一些更改,每

我有一个字符串,仅包含以下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,因为我们知道它是什么。但是如果更改是一个空格,搜索将找到多个结果。

创建一个新的div元素,从索引0到16。在新创建的div元素中查找最后一个div

var html=$(“#content”).html();
var指数=16;
变量d=$(“”);
d、 html(html.substr(0,索引));
var result=d.find(“p”).last()

您好

您好


这很聪明。我认为OP需要元素的
id
,但我仍然
+1
只需在末尾添加
.attr('id')
。这假设索引始终位于元素的文本中。如果它在标记中,则在执行
substr()
时将创建无效的HTML。