javascript-尝试基于id/class发出onClick警报

javascript-尝试基于id/class发出onClick警报,javascript,onclick,alert,Javascript,Onclick,Alert,我是编程新手,想知道当我点击对象时,如何定制一个显示对象id或类名的警报。我的网站有一张8种不同动物的图片,我想要它,这样每当我点击其中一种动物时,就会出现“这是(动物的名字)”的警告。为什么我下面的javascript代码不能工作 我应该用“this”而不是“parama”吗?我不知道我的函数clicky是否有任何参数 var images = new Array() images[0] = "bison" images[1] = "frog" function clicky(parama)

我是编程新手,想知道当我点击对象时,如何定制一个显示对象id或类名的警报。我的网站有一张8种不同动物的图片,我想要它,这样每当我点击其中一种动物时,就会出现“这是(动物的名字)”的警告。为什么我下面的javascript代码不能工作

我应该用“this”而不是“parama”吗?我不知道我的函数clicky是否有任何参数

var images = new Array()
images[0] = "bison"
images[1] = "frog"

function clicky(parama){
    for (entry in images){
        if (parama.attributes["name"].value === images[entry]){
            $(parama).onClick(alert("This is a" + parama.attributes["name"].value));
        } else {
            $(parama).onClick(alert("dang it");
        }
    }
}

我建议在图像上使用
title
alt
属性,而不是JS数组-这对搜索引擎优化更友好,更具语义。更不用说图像上需要
alt
,才能使HTML有效-


您可以使用
.click()
,但建议使用
.on()
将不同类型的事件侦听器附加到元素。jQuery还提供了一种获取属性的简写方法-
.prop()

使用两种答案的某种组合,我找到了一种方法,可以用比原来少得多的代码来实现。过来看!(所有图片都有“pic”类)


要在S.O.上格式化一段代码,请在它和最后一行文本之间换行,然后将每段代码缩进四个空格。背书只用于<>代码>将代码放在中间的一行文本中。使用代码块可以突出显示语法和更好的空白。是的,我搞不懂,谢谢!您没有提到可以使用jQuery:)查看我的更新答案
var images = document.getElementsByTagName("img");

for ( var i = 0, count = images.length; i < count; i++ ) {
    images[i].addEventListener("click", function() {
        alert( this.getAttribute("alt") );
    });
}
$("img").on("click", function() {
    alert( $(this).prop("alt") );
});​
$('.pic').click(function(){
    alert("This is a " + this.getAttribute('alt'))
});