2015-07-13 46 views
0

我的網頁上有多個圖像。檢索javascript中單擊元素的getAttribute

<img id="a" src="1.jpg"> 
<br> 
<img id="b" src="2.jpg"> 

我想通過使用下面的JavaScript獲取點擊圖像的「src」。

var getImageName = function(){ 
    document.onclick = function(){ 
     var image = this.getAttribute("src"); 
     alert(image); 
     }} 

getImageName(); 

但是它給出的錯誤this.getAttribute不是函數。

有什麼想法? 在此先感謝

回答

5

因爲this在你單擊處理文檔對象,所以你可能要檢查的點擊是否發生在圖像元素

var getImageName = function() { 
 
    document.onclick = function(e) { 
 
    if (e.target.tagName == 'IMG') { 
 
     var image = e.target.getAttribute("src"); 
 
     alert(image); 
 
    } 
 
    } 
 
} 
 

 
getImageName()
<img id="a" src="//placehold.it/64X64&text=1" /> 
 
<br> 
 
<img id="a" src="//placehold.it/64X64&text=2" /> 
 
<br>

+0

能否請您詳細說明這個和目標有什麼不同? – Nomad

+0

@Nomad,因爲您已將處理程序綁定到文檔對象,hadnler中的this將引用文檔對象 –

+0

@Nomad [Event.target](https://developer.mozilla.org/en-US/docs/Web/API/Event/target)將引用調度該事件的元素,因此它將是'image'元素 –