Jquery 是否将活动类添加到单击的wordpress选项卡?

Jquery 是否将活动类添加到单击的wordpress选项卡?,jquery,wordpress,Jquery,Wordpress,我试图在wordpress云标记中的单击选项卡中添加一个“活动”类 这是我创建标记云的方式: <?php $args = array( "hide_empty" => false ); if ( function_exists('wp_tag_cloud') ) : ?> <div class="span

我试图在wordpress云标记中的单击选项卡中添加一个“活动”类

这是我创建标记云的方式:

        <?php
            $args = array(
                "hide_empty" => false
            );

            if ( function_exists('wp_tag_cloud') ) :
        ?>
                <div class="span4 grey sidebar">
                    <div class="padded news-tag">
                        <p class="prio-3">Show more about</p>
                        <?php wp_tag_cloud($args); ?>
                    </div>
                </div>
        <?php
            endif;
        ?>

展示更多关于

这是生成的HTML:

<body class="archive tag tag-testing tag-62">
<div class="page-container">
    <div class="container">
        <div class="row">
            <div class="span4 grey sidebar">
                <div class="padded news-tag">
                    <p class="prio-3">Show more about</p>
                    <a href="link" class="tag-link-65" title="testing" style="font-size: 22pt;">testing</a>
                </div>
            </div>
        </div>
    </div>
</div>
</body>

展示更多关于

我希望能够访问单击的标记,并通过jQuery添加一个“活动”类,如下所示:

<script type="text/javascript">
    jQuery( document ).ready(function(jQuery){
        jQuery( '.sidebar .news-tag a' ).click(function(e){
            var element = $(this);
            if( element.hasClass('active') ) {
                return false;
            }
            else {   
                element.addClass('active');
            }
        });
    }(jQuery))
</script>
jQuery( '.sidebar .news-tag a' ).click(function(e){

  jQuery( '.sidebar .news-tag a' ).removeClass("active"); // remove class from other tab

  jQuery(this).addClass("active"); // set class to current clicked tab

});

jQuery(文档).ready(函数)(jQuery){
jQuery('.sidebar.news标记a')。单击(函数(e){
var元素=$(此);
if(element.hasClass('active')){
返回false;
}
否则{
元素addClass('active');
}
});
}(jQuery)
有人知道这样做的正确方法吗

提前谢谢

像这样做:

<script type="text/javascript">
    jQuery( document ).ready(function(jQuery){
        jQuery( '.sidebar .news-tag a' ).click(function(e){
            var element = $(this);
            if( element.hasClass('active') ) {
                return false;
            }
            else {   
                element.addClass('active');
            }
        });
    }(jQuery))
</script>
jQuery( '.sidebar .news-tag a' ).click(function(e){

  jQuery( '.sidebar .news-tag a' ).removeClass("active"); // remove class from other tab

  jQuery(this).addClass("active"); // set class to current clicked tab

});

首先,从屏幕上的任何元素中删除“active”类。然后,将该类添加到单击的元素中

  jQuery( document ).ready(function(jQuery){
        jQuery( '.sidebar .news-tag a' ).click(function(e){

            var element = $(this);

            if($('.active').length>0){ //if there is an active element...

              $('.active').removeClass('active'); //remove the class from it.
              //note that the if is optional, but treating this exception might
              // be useful in the future.
            }

            element.addClass('active'); //now, add the class to this element

        });
    });
试试这个:

<script type="text/javascript">
jQuery( document ).ready(function($){
    $( '.sidebar .news-tag a' ).click(function(e){
        $('.active').removeClass('active');
        $(this).addClass('active');
    });
}); // <------update to this.
</script>

jQuery(文档).ready(函数($){
$('.sidebar.news标记a')。单击(函数(e){
$('.active').removeClass('active');
$(this.addClass('active');
});

}); // 我自己找到了解决办法。我要把它贴在这里,以防万一有人需要它

首先,我通过检查URL参数来检查单击的标记:

<?php
    global $wp;
    $current_url = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );
    $url_tag_php = substr( $current_url, strrpos( $current_url, '=' )+1 );
?>

现在我们知道了标记的名称,可以使用jQuery添加“活动”类:

<script type="text/javascript">          
    jQuery().ready(function() {
      jQuery(".news-tag a").each(function() {
        addActiveClassTag(this);
        return true;
      });
    });

    function addActiveClassTag(thisObj) {
      var pageTag = jQuery(thisObj).text().toLowerCase();
      var url_tag = '<?php echo $url_tag_php ?>';
      if ( pageTag == url_tag ) {
        jQuery(thisObj).addClass('active');
      }
      return true;
    }
</script>

jQuery().ready(函数()){
jQuery(“.news标记a”).each(函数(){
addActiveClassTag(这个);
返回true;
});
});
函数addActiveClassTag(thisObj){
var pageTag=jQuery(thisObj).text().toLowerCase();
var url_tag='';
如果(pageTag==url\U标记){
jQuery(thisObj).addClass('active');
}
返回true;
}

我希望这对你和我都有帮助。享受吧

没有比这更好的了,我以前是这样做的,而且我认为这样做不太昂贵。然后显示完整的html,并检查控制台是否有任何错误。html现在位于顶部,控制台中没有任何错误。@Alberto:你能用上面问题的最新更改更新你的点击处理程序吗,这样我们就可以知道你是否遗漏了我项目中不起作用的东西。控制台中出现任何错误。此解决方案也不起作用。我不知道还能做什么try@Alberto你会发布生成的html吗?