2011-08-05 68 views
0

如何確定與給定javascript選擇對象關聯的節點(此innerHTML與哪個標記關聯)?我正在使用window.getSelection()並且想知道選擇在哪個div/span類中。確定給定javascript選擇對象的HTML節點名稱

謝謝!

+0

可能重複http://stackoverflow.com/questions/497094/how- DO- - 查找 - 出其JavaScript的元素,具有焦點) –

回答

1

如果您想要包含整個選區的最深元素,最簡單的方法是從選區中獲取Range對象並使用其commonAncestorContainer屬性。

的jsfiddle:http://jsfiddle.net/5LvEG/1/

代碼:

function getSelectionContainerElementId() { 
    var sel = window.getSelection(); 
    if (sel.rangeCount > 0) { 
     var range = sel.getRangeAt(0); 
     var container = range.commonAncestorContainer; 

     // container could be a text node, so use its parent if so 
     if (container.nodeType == 3) { 
      container = container.parentNode; 
     } 
     return container.id; 
    } 
    return null; 
} 

alert(getSelectionContainerElementId()); 
的[?我如何找出的JavaScript元素具有焦點](