我正在尝试隔离并将一个类添加到单击的锚标记。标签是从 Wordpress 循环中提取的。我可以编写 JQuery 来删除“静态”类,但它正在从 div 中的所有标签中删除该类,而不仅仅是单击一次,在瞬间添加活动类,然后在页面重新加载时删除所有类新的项目集。
这是WP循环
<div class="more">
<a class="static" href="<?php bloginfo('template_url'); ?>/work/">ALL</a>
<?php
foreach ($tax_terms as $tax_term) {
echo '<a class="static" href="' . esc_attr(get_term_link($tax_term, $taxonomy)) . '" title="' . sprintf( __( "View all posts in %s" ), $tax_term->name ) . '" ' . '>' . $tax_term->name.'</a>';
} ?>
</div>
生成这个 html:
<div class="more">
<a class="static" href="#">ALL</a>
<a class="static" href="#">Things</a>
<a class="static" href="#"> More Things</a>
<a class="static" href="#">Objects</a>
<a class="static" href="#">Goals</a>
<a class="static" href="#">Books</a>
<a class="static" href="#">Drawings</a>
<a class="static" href="#">Thoughts</a>
</div>
查询:
$("div.more a").on("click", function () {
$("a.static").removeClass("static");
$(this).addClass("active");
});
我已经在这里和这里复习了其他类似的问题,但是这两种解决方案都不适合我。这可以用 JQuery 完成还是应该在 html 内联锚点中放置一个点击事件?
看起来它只工作了一秒钟,直到页面重新加载。
我正在使用 Chrome 开发工具查看源代码。看起来它工作正常,但是当页面重新加载时,“静态”类会从 div 中的所有锚标记中删除。页面加载后新添加的类名被删除是否有原因?
它通过 url 传递一个变量来加载一组项目。因此,例如,当您单击Things时,它会传入?type=airports
url 以获取特定的相关帖子。
更新:
也许有更好的方法来实现这一点。总体目标是向用户显示他们在查看结果集时单击了哪个链接。所以当点击“THings”时,链接有绿色背景和白色类型等。由于JQuery正在删除页面重新加载时添加的类,php会是更好的解决方案吗?
更新 2
所有建议的代码都有效。由于链接正在重新加载页面并通过 url 参数进行过滤,因此问题未解决,但答案完全正确。