0

すべてのアイテムではなく、2 番目のクラス (data-color="Blue") のアイテムのみをすべてのページにロードするにはどうすればよいですか?

JSFiddle リンク: http://jsfiddle.net/Cr2cY/

jQuery:

$(document).ready(function () {
$('#filterOptions li a').click(function () {
    // fetch the class of the clicked item
    var ourDataAttr = $(this).data('color');
    // reset the active class on all the buttons
    $('#filterOptions li').removeClass('active');
    // update the active state on our clicked button
    $(this).parent().addClass('active');
    if (ourDataAttr == 'All') {
        // show all our items
        $('#content').find('.item').show();
    } else {
        // hide all elements that don't share ourClass
        $('#content').find('.item:not([data-color="' + ourDataAttr + '"])').hide();
        // show all elements that do share ourClass
        $('#content').find('.item[data-color="' + ourDataAttr + '"]').show();
    }
    return false;
});

});

HTML

<div id="container">
<ul id="filterOptions">
    <li class="active"><a href="#" class="All" data-color="All">All</a></li>
    <li><a href="#" class="Blue" data-color="Blue">Blue</a></li>
    <li><a href="#" class="Red" data-color="Red">Red</a></li>
    <li><a href="#" class="Black" data-color="Black">Black</a></li>
    <li><a href="#" class="White" data-color="White">White</a></li>
</ul>
<div id="content">
    <ul>
        <li class="item Blue" data-color="Blue">Blue 1</li>
        <li class="item Blue" data-color="Blue">Blue 2</li>
        <li class="item Red" data-color="Red">Red 1</li>
        <li class="item Red" data-color="Red">Red 2</li>
        <li class="item Black" data-color="Black">Black 1</li>
        <li class="item Black" data-color="Black">Black 2</li>
        <li class="item White" data-color="White">White 1</li>
        <li class="item White" data-color="White">White 2</li>
    </ul>
</div>

4

3 に答える 3

2

のデフォルト項目に対してclick()[jQuery]を実行する必要があります$(document).ready

$('#filterOptions a.Blue').click();

これにより、そのアイテムのクリック イベントがトリガーされ、ユーザーがクリックしたかのように、この場合は Blue 以外のすべてのアイテムが非表示になります。ここにデモがあります。

于 2013-11-13T15:49:06.877 に答える
1

これが最速の方法です:

$(".Blue").click();

http://jsfiddle.net/Cr2cY/6/

于 2013-11-13T15:48:45.600 に答える