【问题标题】:How to pass an alt attribute in an on click method如何在点击方法中传递 alt 属性
【发布时间】:2020-11-14 22:05:40
【问题描述】:
您好,我有以下代码:
<img alt="image321" onclick="image(//here i want to pass the alt attribute to my function Bild()//);" src="http://i3.ytimg.com/vi/${videoId}/hqdefault.jpg" />
<script>
function image(alt){
alert(alt.src);
}
</script>
我有我的图像,并给它一个值为“image321”的 alt 属性。现在我想将此值传递给我的函数 image(),并在单击图像后立即输出带有警报的值。但输出始终是未定义的。有人可以帮我解决这个问题。
许多问候尼尔斯
【问题讨论】:
标签:
javascript
html
onclick
alt
【解决方案1】:
首先是avoid inline handlers - 他们有很多问题,现在太多不值得使用,例如疯狂的范围链和引号转义问题。改为使用带有 addEventListener 的 Javascript 正确附加事件侦听器。
在侦听器内部,引用this 以获取单击的元素,并引用其src 属性以获取其src:
document.querySelector('img').addEventListener('click', function() {
console.log(this.src);
console.log(this.alt);
});
<img alt="image321" src="http://i3.ytimg.com/vi/${videoId}/hqdefault.jpg" />
【解决方案2】:
function myfunc(img){
alert(img.alt);
}
<img alt="image321" onclick="myfunc(this);" src="http://i3.ytimg.com/vi/${videoId}/hqdefault.jpg" />
【解决方案3】:
您应该尝试使用this,它会发送您运行函数时使用的元素。
这是一个例子:
function image(alt) {
alert(alt.src);
}
<img alt="image321" src="http://i3.ytimg.com/vi/${videoId}/hqdefault.jpg" onclick="image(this)"/>