点击link时如何设置Javascript"name"?

How to set Javascript "name" when link is clicked?

当我点击按钮时,它会执行一个功能,我现在正试图让它在按下按钮时输入名称:“”。

我在标签内添加了 name="item1" 但这并没有产生预期的结果。

<img onclick="addbeat()" name="item1" src="button.png"/>

<script>
function addbeat() {
simpleCart.add({
     name: "",
     price: .99
 });
}
</script>

为清楚起见更新

这里有 2 个选项。如果您要使用内联事件处理程序,那么您可以将事件对象传递给您的点击处理程序并访问使用 event.target 单击的图像,如下所示:

<img onclick="addbeat(event)" name="item1" src="button.png"/>

<script>
function addbeat(event) {
simpleCart.add({
     name: event.target.name,
     price: .99
 });
}
</script>

一个更好的选择(正如周围讨论中指出的那样)是以编程方式附加您的点击处理程序——此时您可以使用 event.targetthis

<img id="anImage" onclick="addbeat(event)" name="item1" src="button.png"/>

<script>
function addbeat() {
simpleCart.add({
     name: this.name,
     price: .99
 });
}

document.getElementById('anImage').onclick = addbeat;
</script>

您正在使用一个事件,因此您可以使用 this 关键字。

simpleCart.add({
     name: this.name,
     price: .99
});

此外,我强烈建议取消内联事件。它很混乱,导致代码不可读。使用事件处理程序!

var x = document.getElementById("imgTag"); //add id to HTML element
x.addEventListener("click", addbeat, false);

我不确定我是否理解你的问题,但是:

<img onclick="addbeat(this.name)" name="item1" src="button.png"/>

<script>
    function addBeat(name)
    {
        simpleCart.add({
            name: name,
            price: .99
        });
    }
</script>

这有帮助吗?