2014-10-11 59 views
0

「這個」元件I有這樣的代碼:獲得從getElementsByClassName方法()函數數組

var elements = document.getElementsByClassName('snap_img'); 

[].slice.call(elements).forEach(function(element) { 
    var hammertime = new Hammer(element); 
    hammertime.on('doubletap', function(event) { 
     img_src = this.getAttribute('src'); 
     alert(img_src); 
    }); 
}); 

我在頂部數組,它包含所有使用類名稱「snap_img」的元素。我需要獲取只有雙擊元素本身(this)的'src'屬性值。我使用'this.getAttribute('src')'的變量'img_src',但沒有運氣。它不會提醒任何人,警告框現在不會顯示。

有誰知道如何做到這一點?

回答

1

使用element而不是this

[].slice.call(elements).forEach(function(element) { 
    var hammertime = new Hammer(element), 
    img_src = element.getAttribute('src'); // now it works 
    hammertime.on('doubletap', function(event) { 
     alert(img_src); 
    }); 
}); 
+0

這看起來像正確的代碼,但警告框不會出現在所有。當我只是'提醒(「你好」)',警告框出現。但是在你的代碼中,你會'alert(img_src)',這是正確的警告,但是警告框根本不出現。任何想法出了什麼問題? – 2014-10-11 16:29:27

+0

@ user3608176查看我的編輯 – 2014-10-11 16:30:53

+0

感謝它的工作!我會在4分鐘內接受你的回答(條例......): – 2014-10-11 16:34:56