2014-12-13 102 views
0

可以说我有一个变量数组,我想遍历数组并仅更改特定变量。这里有一个例子来说明我的意思。javascript-检查数组中的元素是否是特定变量

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"; 
     } 
    } 
} 

在上面的代码片段中,如果条件不起作用。如何检查元素是否是特定变量?

回答

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

它的工作原理。愚蠢的错误。 – Bolboa 2014-12-13 18:31:56

2

使用此情况下

var arr = [p1, p2, img]; 
if (arr.indexOf(img) != -1) { 
    var pos = arr.indexOf(img); 
    arr[pos].style.display = "none"; 
} 

希望这个作品。

相关问题