如何将类添加到不同的元素?

时间:2012-01-30 17:29:57

标签: jquery jquery-ui

由于ori的大力帮助,我的脚本工作正如我想要的那样。不幸的是,由于我自己有限的jQuery知识 - 我无法让下一阶段工作!

现在我想通过在href匹配的情况下将函数分配给不同的元素来进一步扩展它。

可以正常分配类的代码是:

    <script type="text/javascript">
    $(function(){
    var matches;  
   if( matches = location.href.match(/\?(pcat=\w+)/) ) {  
    $('a[href*="' + matches[1] + '"]').addClass('active');
}; 
  });
</script>

这将成功地将类“active”添加到原始的href元素中。我现在要做的不是将类分配给链接,而是打开包含页面加载的href链接的折叠式菜单。

所以我想的是:

    <script type="text/javascript">
    $(function(){
    var matches;  
   if( matches = location.href.match(/\?(pcat=\w+)/) ) {  
    $('a[href*="' + matches[1] + '"]').function() {
        $('p.menuheader').addclass('openheader');}
      );
    }); 

</script>

但它不起作用,我想我有语法错误。

任何帮助将不胜感激! :)

3 个答案:

答案 0 :(得分:0)

在第一个示例中,您使用大写addClass正确拨打C

在您的第二个示例中,您使用小写addclass来调用c,这可能不起作用。

答案 1 :(得分:0)

使用eachclosest方法尝试查找包含的元素。同时将addclass更改为addClass

$('a[href*="' + matches[1] + '"]').each(function() {
    $(this).closest('p.menuheader').addClass('openheader');}
});

答案 2 :(得分:0)

如果你的意思是“包含href链接的手风琴菜单”,为什么不这样做:

 $('a[href*="' + matches[1] + '"]').parent().addclass('openheader');