javascript-检查数组中的元素是否是特定变量

时间:2014-12-13 18:26:03

标签: javascript arrays

假设我有一个变量数组,我想迭代数组并只更改一个特定的变量。这是我头脑中的一个例子来说明我的意思。

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 个答案:

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

希望这有效。