如何更改数组中多个对象的可见性

时间:2017-06-10 11:40:07

标签: javascript arrays for-loop

目前我正在努力解决下一个问题。

我希望在单击按钮(terug)时使用for循环将所有数组对象的可见性更改为隐藏。我有以下代码,但这不起作用:

var titel = $('#wiebenik'); 
var mijndiplomas = $('#mijndiplomas');
var mijnwerkervaring = $('#mijnwerkervaring');  
var mijntalen = $('#mijntalen');    
var mijnvaardigheden = $('#mijnvaardigheden');  
var mijntoekomst = $('#mijntoekomst');
var mijneigenschappen = $('#mijneigenschappen');    

var titels = [titel, mijndiplomas, mijnwerkervaring, mijntalen, 
     mijnvaardigheden, mijntoekomst, mijneigenschappen];

    var trgbtn = document.getElementById('terug');
    trgbtn.onclick = function() {
        for (var i = 0; i < titels.length; i++){
        titels.style.visibility = "hidden";
    }
    };

是否有可能将所有对象的可见度值更改为隐藏?

非常感谢!

1 个答案:

答案 0 :(得分:0)

问题如下,您创建每个元素的jQuery对象。像这样var titel = $('#wiebenik');。要隐藏此元素,您可以使用jQuery函数hidecss。与以下titel.hide()titel.css("visibility", "hidden")一样。

或更好的事件,选择更多元素与1选择器。就像在CSS中一样。 $("#wiebenik, #mijndiplomas, #mijntalen").hide()

如果你坚持使用native,你可以使用像document.getElementById("wiebenid")这样的本地选择器,或者从jQuery元素$("#wiebenid")[0]获取第一个对象,因为jQuery对象只是带有额外函数的Arrays。

最后,你的循环不正确,你必须使用数组中元素的索引来隐藏它。 (已添加[i]

for (var i = 0; i < titels.length; i++){
    titels[i].style.visibility = "hidden";
}