2011-08-05 8 views
0

特定のJavaScript選択オブジェクトに関連付けられているノード(このinnerHTMLに関連付けられているタグ)を特定するにはどうすればよいですか?私はwindow.getSelection()を使用していて、選択肢があるdiv/spanクラスを知りたいです。JavaScript選択オブジェクトを指定してHTMLノード名を決定する

ありがとう!

+0

可能重複http://stackoverflow.com/questions/497094/how- do-i-find-out-which-javascript-element-has-focus) –

答えて

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の要素を見つけるにはどうすればよい]の(
関連する問題