Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery中addClass的问题_Jquery_Ruby On Rails_Addclass - Fatal编程技术网

jQuery中addClass的问题

jQuery中addClass的问题,jquery,ruby-on-rails,addclass,Jquery,Ruby On Rails,Addclass,我在jQuery中遇到了选择器问题。或者我对jQuery代码的不理解 让我谈谈我的问题。 我有一个Rails项目和一个我想插入到菜单中的类,如果菜单中的当前页面相同,则该类处于活动状态 例如: 当前页面:帖子 我的菜单: 页面类别:无 用户类别:无 职位类别:活跃 呜呜呜呜。。。 我的HTML/Rails/jQuery代码如果您是Rails开发人员,以下是我的布局: 菜单: 脚本: <script> $("#hld #wrapper #header #nav li").addCla

我在jQuery中遇到了选择器问题。或者我对jQuery代码的不理解

让我谈谈我的问题。 我有一个Rails项目和一个我想插入到菜单中的类,如果菜单中的当前页面相同,则该类处于活动状态

例如:

当前页面:帖子 我的菜单:

页面类别:无 用户类别:无 职位类别:活跃 呜呜呜呜。。。 我的HTML/Rails/jQuery代码如果您是Rails开发人员,以下是我的布局:

菜单:

脚本:

<script>
 $("#hld #wrapper #header #nav li").addClass(function() {
   var addedClass;

   if ($(this).attr('id') === "<%= content_for(:title).downcase %>") {
    return "active";
   }

   return addedClass;
 });
</script>

<!--[if IE]><script type="text/javascript" src="/assets/excanvas.js"></script><![endif]-->  
<script type="text/javascript" src="/assets/jquery.js"></script>
<script type="text/javascript" src="/assets/jquery.img.preload.js"></script>
<script type="text/javascript" src="/assets/jquery.filestyle.mini.js"></script>
<script type="text/javascript" src="/assets/jquery.wysiwyg.js"></script>
<script type="text/javascript" src="/assets/jquery.date_input.pack.js"></script>
<script type="text/javascript" src="/assets/facebox.js"></script>
<script type="text/javascript" src="/assets/jquery.visualize.js"></script>
<script type="text/javascript" src="/assets/jquery.visualize.tooltip.js"></script>
<script type="text/javascript" src="/assets/jquery.select_skin.js"></script>
<script type="text/javascript" src="/assets/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="/assets/ajaxupload.js"></script>
<script type="text/javascript" src="/assets/jquery.pngfix.js"></script>
<script type="text/javascript" src="/assets/custom.js"></script>
寻找脚本,当然jQuery中会有我的脚本。 那么,有什么问题

谢谢你的帮助,我尽量说清楚。
卢卡斯·莫雷拉。

正如Jfriend00所指出的,你的选择器太长了“导航李”就足够了。 更好的是,因为您可能只是在寻找nav的直接子女,请使用“nav>li”


还有人请纠正我,如果我错了,但我认为你的脚本应该放在下面你加载外部脚本的地方。在加载JQuery之前尝试使用JQuery可能会导致问题-

您能否向我们展示实际生成的页面,以便我们在处理之前可以看到真实的javascript,而不是Rails页面。例如,我不知道这实际上会变成什么:。另外,您是否有任何理由使用:hld wrapper header nav li而不是nav li作为选择器。id在页面中是唯一的,因此您不需要在选择器中使用多个id来定位一个id。我按照您所说的将“hld wrapper header nav li”更改为“nav li”,但仍然不起作用。此外,当我访问站点e时,请查看源代码:“$nav li.addClassfunction{var AddClass;if$this.attr'id'==dashboard”{return active;}return addedClass;}从这个JSFIDLE中可以看出,如果您的代码正在执行您试图执行的操作,那么这个概念就会起作用:。在没有看到正常运行的网页的情况下,我不确定我们是否能够告诉您更多关于错误的信息。哦,天哪,哈哈哈问题在于:我在加载jQuery之前运行了代码。再次感谢大家!
<script>
 $("#hld #wrapper #header #nav li").addClass(function() {
   var addedClass;

   if ($(this).attr('id') === "<%= content_for(:title).downcase %>") {
    return "active";
   }

   return addedClass;
 });
</script>

<!--[if IE]><script type="text/javascript" src="/assets/excanvas.js"></script><![endif]-->  
<script type="text/javascript" src="/assets/jquery.js"></script>
<script type="text/javascript" src="/assets/jquery.img.preload.js"></script>
<script type="text/javascript" src="/assets/jquery.filestyle.mini.js"></script>
<script type="text/javascript" src="/assets/jquery.wysiwyg.js"></script>
<script type="text/javascript" src="/assets/jquery.date_input.pack.js"></script>
<script type="text/javascript" src="/assets/facebox.js"></script>
<script type="text/javascript" src="/assets/jquery.visualize.js"></script>
<script type="text/javascript" src="/assets/jquery.visualize.tooltip.js"></script>
<script type="text/javascript" src="/assets/jquery.select_skin.js"></script>
<script type="text/javascript" src="/assets/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="/assets/ajaxupload.js"></script>
<script type="text/javascript" src="/assets/jquery.pngfix.js"></script>
<script type="text/javascript" src="/assets/custom.js"></script>