jQuery:点击后没有触发事件

时间:2012-02-12 19:43:48

标签: javascript jquery html jquery-selectors

在行动中: http://3.alphenweer.nl/weer/
代码:

    $(document).ready(function(){
        $('.categorie[data-cat]').click(function(){
            $('#cat-'+ $(this).attr('data-cat')).slideToggle('slow');
        });
    });

<span class="categorie" data-cat="nieuws">Nieuws</span>
<div class="box" id="box-nieuws">
    <a href="/pages/nieuws/nieuws/alphen.php">Alphen</a>
    <a href="/pages/nieuws/nieuws/nederland.php">Nederland</a>
</div>

问题:当我点击菜单按钮时(在示例中:点击'Neerslag'或'Satteliet')没有任何反应。我认为选择器不正确,但它应该是。你能帮助我吗?

2 个答案:

答案 0 :(得分:1)

我觉得你有点困惑。您似乎希望使用单击的.categorie的data属性来滑动切换相应的元素。所以,你可以这样做:

$('.categorie[data-cat]').click(function(){
    $('div[id=box-"' + $(this).attr('data-cat') + '"]').slideToggle('slow');
});

或者,假设结构与您发布的结构一致,可以更简单:

$('.categorie[data-cat]').click(function(){
    $(this).next(".box").slideToggle('slow');
});

答案 1 :(得分:0)

已经发现问题:

$(document).ready(function(){
    $('.categorie[data-cat]').click(function(){
        $('#cat-'+ $(this).attr('data-cat')).slideToggle('slow');
    });
});

在第三行,$('#cat-' ...应该是$('#box-'