2011-02-03 74 views
2

當我用光標在上面時,應該如何獲取文本的Parent nodeName?Javascript:獲取父節點名稱

<div id="holder" contentEditable="true"> 
    Stackoverflow is the <b>coolest</b> Q&A website in the world. 
</div> 

當我們有一個結果:

  • #2是最酷 Q &一個 網站在世界上。

因此,如果光標在coolest我想獲得它的父節點名稱是b

請沒有圖書館,只是純粹的JavaScript。

+0

你還好jQuery解決方案嗎? – 2011-02-03 21:33:27

回答

7
if (document.addEventListener) { 
    document.getElementById('holder').addEventListener('mouseover', function (e) { 
     somevar = e.target.nodeName; 
    }, false); 
} else { 
    document.getElementById('holder').attachEvent('onmouseover', function (e) { 
     somevar = e.srcElement.nodeName; 
    }); 
} 

編輯:更新的代碼和示例按照問題編輯和評論。

See example.

+0

很高興知道,IE瀏覽器將事件理解爲處理函數參數。我一直認爲,`window.event`是獲取事件對象的唯一方法。 +1 – singles 2011-02-03 21:41:48

1
<div id="holder" contentEditable="true"> 
    Stackoverflow is the <b onclick="alert(this.tagName)">coolest</b> Q&A website in the world. 
</div>