【问题标题】:passing this as a parameter in javascript在javascript中将此作为参数传递
【发布时间】:2023-03-08 18:01:02
【问题描述】:

我想将此作为 javascript 中函数的参数传递,如下所示:

<input type="image" class="img_btn" id="img" src="img1.jpg" onclick="edit(this);"/>

还有我的编辑功能:

function edit(javad) {
    if (x == 1) {
        javad.src = "img1.jpg";
        x = 0;
    } else {
        javad.src = "img2.jpg";
        x = 1;
    }
}

x 的默认值为 1。

但它不起作用?

感谢您的帮助。

【问题讨论】:

  • 您在代码中的何处声明了 x ? (它是一个全局变量吗?)
  • 你好像不知道the browser's error console...
  • 考虑学习使用浏览器的javascript控制台,这样你就可以自己调试这些问题,最终会节省很多时间。

标签: javascript this parameter-passing imagebutton


【解决方案1】:

JavaScript 中的字符串被引用,因此您必须将文件名放在引号中

javad.src="img1.jpg";

您的代码可以正常工作,除非 x 默认为 1,然后当您单击输入时,您会将其源设置为相同的图像,如果再次单击它,它将改变。如果 x 默认为 0,它将在第一次单击时更改。

FIDDLE

【讨论】:

    【解决方案2】:

    您的代码认为您将src 设置为一个对象,因为您没有引号。

    javad.src = "img2.jpg";
    

    应该可以解决问题。

    【讨论】:

      【解决方案3】:

      我解决了问题:)

      它不起作用,因为 var x 是全局的,并且在每个调用函数中它设置为 1。谢谢。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-12
        • 2014-10-25
        • 1970-01-01
        • 1970-01-01
        • 2012-10-28
        相关资源
        最近更新 更多