我是一个编程新手,我想知道如何制作一个自定义的警告,当我单击它时,它会显示对象的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");
}
}
}发布于 2012-08-14 05:48:14
使用你的两个答案的某种组合,我想出了一种方法,用比我原来少得多的代码来做这件事。看看这个!(所有图片都有“图片”类)
$('.pic').click(function(){
alert("This is a " + this.getAttribute('alt'))
});发布于 2012-08-14 04:47:42
我建议在图像上使用title或alt属性,而不是JS数组-这对搜索引擎优化更友好,也更具语义。更不用说要使你的超文本标记语言有效,图片上需要alt -
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 -
$("img").on("click", function() {
alert( $(this).prop("alt") );
});您可以使用.click(),但建议使用.on()将不同类型的事件侦听器附加到元素。jQuery还提供了获取属性的快捷方式-- .prop()
https://stackoverflow.com/questions/11941932
复制相似问题