假设我有一个变量数组,我想迭代数组并只更改一个特定的变量。这是我头脑中的一个例子来说明我的意思。
function click() {
var p1 = document.getElementById("p1"); //a paragraph
var p2 = document.getElementById("p2"); //a paragraph
var img = document.getElementById("img"); //an image
var arr = [p1, p2, img];
for(i = 0; i < arr.length; i++) {
//Herein lies the problem
if (arr[0] == img) { ---Or--- if (i == newarr.indexOf(img)) {
arr[0].style.display = "none";
}
}
}
在上面的代码段中,如果条件不起作用。如何检查元素是否为特定变量?
答案 0 :(得分:2)
像这样使用:
for(var i = 0; i < arr.length; i++) {
if (arr[i] === img) {
arr[i].style.display = "none";
}
}
您也可以这样做:
arr.forEach(function(v){
if(v===img) v.style.display = "none";
});
答案 1 :(得分:2)
使用此案例
var arr = [p1, p2, img];
if (arr.indexOf(img) != -1) {
var pos = arr.indexOf(img);
arr[pos].style.display = "none";
}
希望这有效。