Javascript 如何获取所有选定段落的id?

Javascript 如何获取所有选定段落的id?,javascript,android,html,css,Javascript,Android,Html,Css,我正在使用android webview,为了实现一些功能,我需要集成javascript。我是javascript新手,请告诉我如何获取段落id(正在选择的每个段落的id)。详情如下: 就像我有数据一样- <p id="01">hhh dhghdg <span id="1.1">dada</span> <span id="1.2">dgsdd</span> </p> <p id="0

我正在使用android webview,为了实现一些功能,我需要集成javascript。我是javascript新手,请告诉我如何获取段落id(正在选择的每个段落的id)。详情如下:

就像我有数据一样-

   <p id="01">hhh dhghdg  
    <span id="1.1">dada</span>
    <span id="1.2">dgsdd</span>
</p>
    <p id="02">dsdgs dhgd hdhd
 <span id="2.1">dada</span>
    <span id="2.2">dgsdd</span>
</p>

hhh-dhdg 达达 dgsdd

dsdgs dhgd hdhd 达达 dgsdd

因此,您选择一些数据,即“hhh-dhghdg-dsdgs”,因此该数据属于多个段落p1和p2,因此我希望使用javascript获取这两个段落的id

请告诉我如何得到这个。

您必须使用其中一个

document.documentElement.id

你必须使用其中一种

document.documentElement.id


PPK有一个非常详细的帖子:

它描述范围对象。我以前没有这样做过,但从您需要使用的东西来看:

window.getSelection()
它将返回一个选择对象,您可以从中获得一个包含所有选定元素的范围对象(如上面链接中所述)

通过扫描MDN上的文档:

您将获得一个HTML字符串,您可以使用正则表达式尝试从中获取所有ID,如下所示:

var underSelection = window.getSelection().getRangeAt(0);
var idsRegEx = /#\s(id|class)="[^"]+"/;
var idMatches = idsRegEx.match(underSelection);
//then clean and do something with the ids
我还没有测试过这些,但我希望它能让你开始

编辑:其他信息 如果您使用的是jQuery,则可以将选择加载到jQuery对象中,并通过执行以下操作获取所有ID:

var IDs = [];
$(underSelection).find("p").each(function(){ IDs.push(this.id); });

PPK有一个非常详细的帖子:

它描述范围对象。我以前没有这样做过,但从您需要使用的东西来看:

window.getSelection()
它将返回一个选择对象,您可以从中获得一个包含所有选定元素的范围对象(如上面链接中所述)

通过扫描MDN上的文档:

您将获得一个HTML字符串,您可以使用正则表达式尝试从中获取所有ID,如下所示:

var underSelection = window.getSelection().getRangeAt(0);
var idsRegEx = /#\s(id|class)="[^"]+"/;
var idMatches = idsRegEx.match(underSelection);
//then clean and do something with the ids
我还没有测试过这些,但我希望它能让你开始

编辑:其他信息 如果您使用的是jQuery,则可以将选择加载到jQuery对象中,并通过执行以下操作获取所有ID:

var IDs = [];
$(underSelection).find("p").each(function(){ IDs.push(this.id); });

您的问题是如何使用javascript调用这些元素?或者,您要查找所选文本所属的ID。你能说清楚一点吗?想知道所选文本属于哪个ID这意味着所有的ID你可以在这里看看@Renku是的,这是我需要的,但你能不能在一个javascript函数中将这个东西变白为什么你需要它在javascript中只需在你的页面中调用使用这个代码你的问题是如何使用javascript调用这些元素?或者,您要查找所选文本所属的ID。你能说清楚一点吗?想知道所选文本属于哪个ID这意味着所有的ID你可以在这里看一看@Renku是的这是我需要的,但你能不能在一个javascript函数中将这个东西变白为什么你需要它在javascript中只需在你的页面中调用使用这个codeidsRegEx.match(selection);这里的选择是什么??idsRegEx.match(选择);这里的选择是什么??