Javascript 无法识别函数中的变量
Javascript not recognized a variable within a function
>我正在尝试创建一个脚本,该脚本可以通过单击练习链接来打开和关闭图像。我正在尝试选择一个"data-"属性,但是当我尝试将其定义为变量时,它无法识别它。它给了我空错误。
这是我的 HTML:
<a data-img="image1" id="ugur1" class="btn btn-default" href="#" role="button">Toggle Image one</a>
<a data-img="image2" id="ugur2" class="btn btn-default" href="#" role="button">Toggle Image two</a>
<a data-img="image3" id="ugur3" class="btn btn-default" href="#" role="button">Toggle Image three</a>
<img src="C:'Users'Ugur Aydin'Desktop'Coding'Javascript'Images'Image1.png" class="img-responsive img hide" id="ugurpic1" alt="Responsive image" />
<img src="C:'Users'Ugur Aydin'Desktop'Coding'Javascript'Images'Image2.png" class="img-responsive img hide" id="ugurpic2" />
<img src="C:'Users'Ugur Aydin'Desktop'Coding'Javascript'Images'Image3.png" class="img-responsive img hide" id="ugurpic3" />
这是我的JS:
var ugur1 = document.getElementById("ugur1");
var ugur2 = document.getElementById("ugur2");
var ugur3 = document.getElementById("ugur3");
ugur1.addEventListener("click", picLink);
ugur2.addEventListener("click", picLink);
ugur3.addEventListener("click", picLink);
function picLink() {
var picId = this.attributes["data-img"].value;
var pic = document.getElementById(picId);
if (pic.className === "img-responsive img hide") {
pic.className = "img-responsive img";
}
else {
pic.className = "img-responsive img hide";
};
}
有人可以告诉我我做错了什么吗?谢谢。
您使用 getElementById
正确选择每个a
,并正确添加事件侦听器。问题是,当您选择data-img
属性时,它们不包含图像的 ID。基本上,每次更改时data-img="imageX"
data-img="ugurpicX"
以正确反映图像标记的 ID,或更改图像标记的 ID。
也
<a data-img="ugurpic1" id="ugur1" class="btn btn-default" href="#" role="button">Toggle Image one</a>
<a data-img="ugurpic2" id="ugur2" class="btn btn-default" href="#" role="button">Toggle Image two</a>
<a data-img="ugurpic3" id="ugur3" class="btn btn-default" href="#" role="button">Toggle Image three</a>
或者(不是两者兼而有之):
<img src="C:'Users'Ugur Aydin'Desktop'Coding'Javascript'Images'Image1.png" class="img-responsive img hide" id="image1" alt="Responsive image" />
<img src="C:'Users'Ugur Aydin'Desktop'Coding'Javascript'Images'Image2.png" class="img-responsive img hide" id="image2" />
<img src="C:'Users'Ugur Aydin'Desktop'Coding'Javascript'Images'Image3.png" class="img-responsive img hide" id="image3" />
相关文章:
- 带有两个变量函数的Ajax提交表单
- 设置变量函数不起作用
- 为什么使用 ||在变量函数声明中
- Javascript 变量函数不保留值
- 为什么要在函数定义之外引用静态变量(函数属性)
- jQuery 变量函数无法运行
- 循环中的变量函数定义
- javascript onclick设置为变量函数名
- JavaScript:调用已启动类(数据包处理程序)的变量函数
- Javascript测试存根全局变量函数
- Aptana能否识别其他文件中定义的变量/函数
- jquery将其传递给变量函数
- 传递一个变量函数到数组[Javascript]
- 如何使用' this '像一个对象,并通过字符串获得它的变量/函数
- javascript变量/函数的首字母是什么意思?
- Javascript .apply带有变量函数名
- 在JavaScript中添加一个全局变量/函数(特别是NativeScript)
- 变量函数未定义错误
- AngularJS-继续检查变量/函数
- Javascript从本地向全局变量函数添加行