【问题标题】:jQuery / wordpress issue with .addClass based on url基于 url 的 .addClass 的 jQuery / wordpress 问题
【发布时间】:2010-04-22 11:53:49
【问题描述】:

我在将类添加到主题上的 2 个导航链接时遇到了一些问题。

当我将页面重定向到另一个页面时,我需要添加一个基于 url 字符串的类。

我正在使用以下代码:

<script type="text/javascript">
if (window.location.pathname.indexOf('/category/blog/')){
   if ( $('#nav ul li a span').text().contains('BLOG') ){
       //add class 'current_page_item' to:
       $('#nav ul li').addClass('current_page_item');
   }
}
if (window.location.pathname.indexOf('/category/keepers/')){
   if ( $('#nav ul li a span').text().contains('KEEPERS') ){
       //add class 'current_page_item' to:
       $('#nav ul li').addClass('current_page_item');
   }
}
</script>

谁能明白为什么这不起作用?

我收到以下错误:

$ is not a function
[Break on this error] if ( $('#nav ul li a span').text().contains('BLOG') ){ 

【问题讨论】:

  • 您是否在该文件中正确包含了 jquery?
  • 是的,使用内置 wordpress jQuery... 现在得到以下错误: $("#nav ul li a span").text().contains is not a function [Break on this error ] if ( $('#nav ul li a span').text().contains('BLOG') )

标签: jquery wordpress


【解决方案1】:

$("#nav ul li a span").text() 返回一个字符串,而不是一个 jQuery 对象。 您不能在字符串上调用 contains,这就是问题所在。 关于 text() 函数here的信息。

我认为你需要重新构建你的逻辑方式, $("#nav ul li a span").text() 返回以下字符串: 家博客生物关于饲养员 因此,您的包含逻辑将在您网站的每个页面上评估为 true。

我认为更好的方法是循环遍历 li 元素,获取单个 li 跨度内的文本,然后在其为 true 时设置该单个 li 的 css。

HTH

编辑: 这行得通(我在你的网站上用萤火虫试过):

jQuery('#nav ul li').each(function(){
    //The comparison is case sensitive, Dont use uppercase like in your original
    if(jQuery(this).find('span').text() == "Blog"){ 
        jQuery(this).addClass('current_page_item');
    }
});

【讨论】:

  • 这很有帮助,我已将代码更改为:
  • 但是,如果我在主页上,它会显示博客和主页的活动状态....我只希望博客 li 类在 url 包含 '类别/博客/'??
  • 啊,我错过了 if (window.location.pathname.indexOf('/category/blog/') > -1)
【解决方案2】:

你应该把那几行放进去

$(document).ready(function(){
     // here
});

【讨论】:

  • 添加了同样的错误,我也试过了: jQuery(document).ready(function($) { 但是会抛出这个错误: $("#nav ul li a span").text ().contains 不是函数 [打破此错误] if ( $('#nav ul li a span').text().contains('BLOG') ){
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多