0

我是编程新手,想知道如何制作自定义警报,当我单击它时显示对象的 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");
        }
    }
}
4

2 回答 2

0

我建议在图像上使用titleoralt属性而不是 JS 数组——这对 SEO 更加友好和语义化。更不用说alt图像需要使您的 HTML 有效 -演示

var images = document.getElementsByTagName("img");

for ( var i = 0, count = images.length; i < count; i++ ) {
    images[i].addEventListener("click", function() {
        alert( this.getAttribute("alt") );
    });
}

更新

如果你打开使用 jQuery - DEMO

$("img").on("click", function() {
    alert( $(this).prop("alt") );
});​

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

于 2012-08-13T20:47:42.187 回答
0

结合你的两个答案,我想出了一种方法,用比我原来少得多的代码来做到这一点。看看这个!(图片都有“pic”类)

$('.pic').click(function(){
    alert("This is a " + this.getAttribute('alt'))
});
于 2012-08-13T21:48:14.363 回答