2013-09-25 209 views
0

的父的elment我有以下的html代碼:我怎樣才能找到元素

<div class=imgHolder> 
     <img src="some address"/>  
     <a class="del" onClick="function">delete</a> 
</div> 

如何通過純Java腳本找到父的形象標籤

+1

不要叫你的函數功能...這就是我想要的關鍵字 –

+0

意味着一些功能 – HamidSadeghi

+0

最簡單的方法是瞭解'previousSibling'和'nextSibling',雖然學習'parentNode'和' childNodes'也可以工作。 –

回答

0
<div class=imgHolder> 
    <img src="some address"/>  
    <a href="javascript:void();" class="del" onclick="deleteThis(this);">delete</a> 
</div> 

腳本:

function deleteThis(sender){ 
    var childs = sender.parentNode.childNodes; 
    for (var i = 0; i < childs.length; i++){ 
     if (childs[i].tagName === 'img') 
      alert(childs[i].src); 
    } 
} 

或者,如果您確定img將永遠在鏈接之前。

function deleteThis(sender){ 
    if (sender.previousSibling.tagName === 'img') 
     alert(sender.previousSibling.src); 
} 
+3

'delete'是一個關鍵字! – tymeJV

+0

我想知道爲什麼我的答案是downvoted ..是否有錯誤的地方? –

1

的Javascript:

function clickFunc(e){ 

var tgt = e.target; 
var parent = tgt.parentNode; 
var img = parent.getElementsByTagName("img")[0]; 

parent.removeChild(img); 
} 

HTML:

<div class=imgHolder> 
    <img src="some address"/>  
    <a class="del" onClick="clickFunc">delete</a> 
</div> 

我試着寫爲自明,但步行穿越:

  1. e是點擊事件。
  2. e.target是用戶點擊的內容(您的錨標籤)
  3. parent是錨的父節點。
  4. img是父節點中的第一個圖像。
  5. parent刪除img