使用数组来定位jQuery / JS中重复类中的特定元素

时间:2012-11-06 10:48:01

标签: javascript jquery

我在一个页面上有一个动态生成的HTML部分,其中有许多已修复的元素,类为<div class="paraContent">

我可以在CMS中访问此页面的<head>,并希望指定数组或脚本中的元素以隐藏某些元素。

到目前为止我的代码:

var excContent = ['0', '1', '25']

$(".paraContent").each(function(index[excContent]) {
    $(this).hide();
})

2 个答案:

答案 0 :(得分:5)

如果我理解你要做什么,那就是隐藏一些基于索引的paraContent类的元素,你可以做到

$.each(excContent, function(){$('.paraContent:eq('+this+')').hide()});

或(如果你有一个大阵列,会更快):

var $all = $('.paraContent');
$.each(excContent, function(){$all.eq(this).hide()});

答案 1 :(得分:1)

虽然this other answer是正确的并且非常理想,但我会继续提供替代方法,这仍然非常有效并将迭代所有元素,从而允许您为不在项目数组中的元素执行操作隐藏:

var excContent = {'1': true, '0': true};
$(".paraContent").each(function(index) {
    if (excContent[index.toString()])
        $(this).hide();
})

正如你所看到的,诀窍是使用关联数组而不是普通数组,然后搜索它就变成了一个微不足道的动作。

Live test case