내 커서가있는 부모 요소의 특성을 가져오고 싶습니다.왜 내가 정의되지 않은 상태로 돌아 왔습니까?
저는 지금 약 2 시간 동안 완전히 실패했습니다. 그래서 아무도 제안 사항이 있는지 확인하기 위해 게시하고 있습니다. 이것은 내가 가지고 있지만 parentID
는 undefined를 반환 이유를 알고하지 않는 기능입니다 :
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, 당신은 작동하는 최초의 두 가지 기능을위한 텍스트 영역의 내부를 클릭합니다.
var parentElement = $(newRange.commonAncestorContainer).parents('span');
뭔가를 시도 할 수 있습니다. 후자가 잘 작동합니다. 하지만 어쩌면 당신이 원하는 것을 정확히 이해하지 못할 수도 있습니다. 거기에는'id' 나'title' 속성을 갖지 않는 두 개의'p' 요소가 있습니다. 물론'undefined '가됩니다. –첫 번째 함수가 험난한 오류로 인해 충돌합니다. '잡히지 않은 DOM 예외 : INDEX_SIZE_ERR' – David
@Felix Kling 피들을 수정했지만'.attr ('id ')'는 여전히 작동하지 않습니다. –