2012-01-30 20 views
0

oriの大きな助けにより、私は欲しかったスクリプトを正確に作っています。残念なことに、自分の制限されたjQueryの知識のために、私は次のフェーズを働かせることができません!別の要素にクラスを追加する方法は?

ここでは、hrefが一致する場合に別の要素に関数を割り当てることでさらに展開したいと考えています。

正しく動作、およびコードは、クラスが割り当てられます。

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

これが正常に元の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> 

をしかし、それは動作しません、私は、構文エラーを持っていると思います。

ご協力いただければ幸いです。 :)

答えて

0

addClassを正確にCと呼びます。

2番目の例では、addclassを小文字のcと呼ぶと、おそらく動作しません。

0

eachとの方法を使用して、含まれている要素を見つけてください。 addclassaddClassに変更してください。

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

あなたは、なぜ同じようにしないで、「hrefのリンクが含まれてアコーディオンメニュー」ことを意味している場合:

$('a[href*="' + matches[1] + '"]').parent().addclass('openheader'); 
関連する問題