2

次のクラスの要素が多数繰り返されるページに、動的に生成された HTML 部分があります。<div class="paraContent">

CMS でこのページの にアクセスでき<head>ます。配列またはスクリプトで要素を指定して、特定の要素を非表示にしたいと考えています。

これまでの私のコード:

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

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

2 に答える 2

5

あなたがやろうとしていることを理解していれば、それはparaContentインデックスに基づいてクラスを持つ要素の一部を隠していることです。

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

または(大きな配列がある場合は高速です):

var $all = $('.paraContent');
$.each(excContent, function(){$all.eq(this).hide()});
于 2012-11-06T10:51:08.273 に答える
1

この他の答えは正しく、かなり理想的ですが、私は先に進み、それでもかなり効率的ですべての要素を反復する別の方法を提供します。これにより、アイテムの配列にない要素に対して非表示にすることができます。

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

ご覧のとおり、トリックはプレーン配列の代わりに連想配列を使用することであり、それを検索することは簡単なアクションになります。

ライブテストケース

于 2012-11-06T11:07:23.827 に答える