我正在玩HTML,CSS& JavaScript,但我不是很好。我正在尝试以下方法:
<script type="text/javascript">
var tab = document.getElementsByClassName("MYCLASS");
for(var i = 0, j=tab.length; i<j; i++){
tab[i].addEventListener('click', afficher,false);
}
function afficher(){
alert(this.class);
}
</script>
在我的所有.MYCLASS
div
上附加点击监听器正在运行。但是,在Google Chrome浏览器的警告窗口中,它会向我undefined
而不是.MYCLASS
。
所以我尝试了这段代码:
function afficher(e){
var target = e.target || e.srcElement;
var $target = $(e.currentTarget);
alert(target.class);
}
但结果完全一样。感谢任何帮助,谢谢!
答案 0 :(得分:0)
你可以使用一个简单的&#39; for&#39;循环,但您需要确保仅将事件附加到DOM元素。 getElementsByClassName()返回的HTML列表不仅仅返回DOM元素。
staging_data
&#13;
答案 1 :(得分:0)
这是因为没有为名为html
的{{1}} DOM对象定义属性。
如果要获取类值,则应使用class
。
所以你的功能应该是这样的:
this.className