Javascript - 数组中的样式元素

标签 javascript arrays styles

我有一组图片,我想在点击这些图片时为其添加边框。我可以使用索引号为一张图像设置样式,但似乎无法在每张图像上单击时运行该功能。我收到“无法设置未定义的‘边框’属性 在 HTMLImageElement.picStyle”。

HTML:

<div id="pic-container">
    <img class ="dogImg" src="img/dog1.jpg">
    <img class ="dogImg" src="img/dog2.jpg">
    <img class ="dogImg" src="img/dog3.jpg">
    <img class ="dogImg" src="img/dog4.jpg">
    <img class ="dogImg" src="img/dog5.jpg">
</div>

JS:

var dogPics = document.getElementsByClassName('dogImg');

function picStyle() {
   dogPics.style.border = "1px solid black";
   }


for (var i = 0; i < dogPics.length; i++) {
   dogPics[i].addEventListener('click' , picStyle ) ; 
}

最佳答案

使用 this.style.border 代替 dogPics.style.border

var dogPics = document.getElementsByClassName('dogImg');

function picStyle() {
   this.style.border = "1px solid black";
   }


for (var i = 0; i < dogPics.length; i++) {
   dogPics[i].addEventListener('click' , picStyle ) ; 
}
<div id="pic-container">
    <img class ="dogImg" src="img/dog1.jpg">
    <img class ="dogImg" src="img/dog2.jpg">
    <img class ="dogImg" src="img/dog3.jpg">
    <img class ="dogImg" src="img/dog4.jpg">
    <img class ="dogImg" src="img/dog5.jpg">
</div>

关于Javascript - 数组中的样式元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49388316/

相关文章:

javascript - 刷新后如何保存我的按钮状态?

javascript - Jest 无法使用 Typescript 导入(SyntaxError : Cannot use import statement outside a module)

java - 我不断收到 ']' 预期错误 [Java]

c - 如果数组仅使用列值定义,则当数组超出时没有错误,没有警告

java - 如何在 Java 中将 CSV 文件数据存储到数组中?

android - 包装到 TextInputLayout 时更改 EditText 底线的粗细

.net - 如何将 DataTrigger 绑定(bind)到资源定义样式的 Child 属性?

javascript - 如何检查字符串中左括号和右括号的顺序?

javascript - JSON2 : why does "var JSON" in global scope not clobber the global JSON object?

html - 如果从手机访问,右侧的白色条