$(document).ready(function(){
$("#menu ul").children('li').each(function(){
var href = $(this).find('a').attr('href');
var wpl = window.location.pathname;
if( href.indexOf(wpl) != -1 ){
if( wpl.indexOf( "category" ) != -1){
$("#products").attr('id','prodon');
}
if( wpl.indexOf( "news" ) != -1){
$("#news").attr('id','newson');
}
if( wpl.indexOf( "wheretobuy" ) != -1){
$("#WTB").attr('id','WTBon');
}....
它会持续更长的时间,不同的按钮。我之所以这样做,是因为每个按钮都是一个图像,所以它们都是独一无二的。这是 HTML 的一个片段:
<li><a href="/news/index" id="news"></a></li>
<li>
<a href="/site/wheretobuy" id="WTB"></a>
<ul>
<?php echo '<li>'.CHtml::link(CHtml::encode("Showrooms"), array('/showroom/index')).'</li>'; ?>
<?php echo '<li>'.CHtml::link(CHtml::encode("Dealers"), array('/dealers/index')).'</li>'; ?>
<?php echo '<li>'.CHtml::link(CHtml::encode("Hypermarket and Merchants"), array('/hyper/index')).'</li>'; ?>
</ul>
</li>
所以父节点都很好。此外,如果孩子的 URL 包含父母的 URL(即类别/猫),它会显示活动按钮。我想知道如何应用父母的活动img,如果它的孩子之一是URL,但措辞不同。我可以做更多的 IF,但我认为有更简单的方法。
编辑....再次
if( wpl.indexOf( "wheretobuy" ) != -1 || $('#menu ul').find('.WTBon').parent().closest('li').indexOf( "wheretobuy" ) != -1 ) {
$('.WTB').addClass('WTBon');
}
所以我要检查的是节点的父节点是否在 URL 中有 wheretobuy