我想获得我的光标所在的父元素的属性。为什么我返回undefined?
我现在大概两个小时完全没有成功,所以我张贴了看有没有人有任何建议。这是我有,但不知道为什么只parentID
返回未定义功能:
function getAttrOfParent() {
var newRange = rangy.getSelection().getRangeAt(0);
var parentElement = newRange.commonAncestorContainer;
var parentID = $(parentElement).attr('id');
alert(parentID);
}
这正常获取父元素的文本...
function getTextOfParent() {
var newRange = rangy.getSelection().getRangeAt(0);
var parentElement = newRange.commonAncestorContainer;
var parentText = $(parentElement).text();
alert(parentText);
}
...这可以很好地获得指定元素的标题。
function getAttrOfElement() {
var parentID = $('#1').attr('id');
alert(parentID);
}
Here's my jsFiddle,您必须将文本区域内单击前两个功能一起工作。
在你的小提琴,你正在使用'.attr( '标题')',而不是'.attr( 'ID')'。后者工作正常。但也许我不明白你想要什么。你有几个'p'元素,它们既没有'id'也没有'title'属性。所以当然你会得到'undefined'。 –
你的第一个函数会因为一个很大的错误而崩溃:'未捕获到的DOM异常:INDEX_SIZE_ERR' – David
@Felix Kling我修正了小提琴,但'.attr('id')'仍然不起作用。 –