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