Javascript OAD与您的问题无关,但您可以通过更改parent.nodeType!==1至父节点类型!==Node.ELEMENT_Node但我想获取所选文本的id,它可以来自页面中的任何位置,如果我无法正确理解您的答案,我很抱歉。从各自id的levelOne1、le
Javascript OAD与您的问题无关,但您可以通过更改parent.nodeType!==1至父节点类型!==Node.ELEMENT_Node但我想获取所选文本的id,它可以来自页面中的任何位置,如果我无法正确理解您的答案,我很抱歉。从各自id的levelOne1、le,javascript,jquery,html,Javascript,Jquery,Html,OAD与您的问题无关,但您可以通过更改parent.nodeType!==1至父节点类型!==Node.ELEMENT_Node但我想获取所选文本的id,它可以来自页面中的任何位置,如果我无法正确理解您的答案,我很抱歉。从各自id的levelOne1、levelOne2或levelOne3I中选择的文本的正确id可能不理解您需要什么。请编辑您的问题并更好地解释,但我想获得所选文本的id,它可以来自页面中的任何位置,如果我不能正确理解您的答案,我很抱歉。从各自id的levelOne1、levelO
OAD与您的问题无关,但您可以通过更改
parent.nodeType!==1
至父节点类型!==Node.ELEMENT_Node
但我想获取所选文本的id,它可以来自页面中的任何位置,如果我无法正确理解您的答案,我很抱歉。从各自id的levelOne1、levelOne2或levelOne3I中选择的文本的正确id可能不理解您需要什么。请编辑您的问题并更好地解释,但我想获得所选文本的id,它可以来自页面中的任何位置,如果我不能正确理解您的答案,我很抱歉。从各自id的levelOne1、levelOne2或levelOne3I中选择的文本的正确id可能不理解您需要什么。请编辑您的问题并更好地解释
<html>
<body>
<div id = "mainDiv">
<div id = "levelOne1">
<div id="levelTwo1">
<div id = "levelThree1">
third level html content over here
</div>
</div>
<div id="levelTwo2">
second level html content over here
</div>
</div>
<div id = "levelOne2">
second level html content over here in levelOne2
</div>
<div id = "levelOne3">
<div id="innerdiv">
second level html content over here in levelOne3
</div>
</div>
</div>
</body>
</html>
function getSelectionParentElement() {
var parent = null,
selection;
if (window.getSelection) {
selection = window.getSelection();
if (selection.rangeCount) {
parent = selection.getRangeAt(0).commonAncestorContainer;
if (parent.nodeType !== 1) {
parent = parent.parentNode;
}
}
} else if ((selection = document.selection) && selection.type !== "Control") {
parent = selection.createRange().parentElement();
}
return parent;
}
var divElement = getSelectionParentElement();
var divID = divElement.getattribute('id');
var divElement = getSelectionParentElement();
var secondDiv = divElement.getElementsByTagName('div')[1];
var divID = secondDiv.getattribute('id');
function getSecondLevelElement(elem) {
while (elem = elem.parentNode) {
if (elem.className == "second-level-element") {
return id = elem.id;
}
}
}
function getSecondLevelElement(elem) {
var immediateId = new Array();
var i =0;
while (elem = elem.parentNode) {
if(elem.getAttribute('id')==="mainDiv")
{
console.log(elem.getAttribute('id')+" <> "+i);
break;
}
immediateId[i] = elem.getAttribute('id');
i=i+1;
}
return immediateId[i-1];
}