在javascript(jquery)中,我正在检索以“#error-”开头的元素的列表。这可以正常工作。我的问题是,在遍历数组时,无法为数组的元素分配值。

我正在使用此功能:

function HideErrorMessages(){
    var errors = $('*[id^="error-"]');
    for (var i = 0; i < errors.length; i++) {
        errors[i].css('display', none);
    }
}

如您所见,我尝试了这种“css”的可能性。不起作用
我也尝试过:
  • errors [i] .hide();
  • errors [i] .style.display ='none';

  • 但是,当使用“alert(errors [i])”时,我得到一个响应,指示它包含“span”元素列表(正确)。

    那么如何在此循环中隐藏元素?

    谢谢!

    最佳答案

    errors[i]引用jQuery对象内部的属性,该属性是选定的DOM对象。这些对象没有css函数,这是jQuery。但是您可以使用jQuery eq 选择对象并可以访问jQuery方法:

    errors.eq(i).css('display', 'none');
    

    您还可以使用 each 迭代jQuery对象的每个元素:
    $('*[id^="error-"]').each(function(){
        $(this).css('display', 'none');
    });
    

    关于javascript - 遍历元素列表并将其隐藏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34638020/

    10-14 12:44