【问题标题】:Jquery not working for li aJquery 不适用于 li a
【发布时间】:2017-03-10 00:45:16
【问题描述】:

我正在使用引导导航列表。在滚动时我想更改标签的颜色。 这是Jquery代码

$(window).scroll(function () { 
    var scroll = $(window).scrollTop();
    var os = $('#logo').offset().top;
    var ht = $('#logo').height();
    if (scroll > os + ht) { 
//Not working
$('#header .nav > li > a').css("color", "#333 !important");}  

}); 

HTML

<div id="logo-on-scroll" class="col-sm-2 col-xs-10">
                            <a href="">Some text</a>
</div>
 <div class="navbar-collapse collapse" id="mobilemenu">
                            <?php
                            wp_nav_menu(array(

                                'menu_class' => 'nav_menu nav navbar-nav',
                                'theme_location' => 'primary', 'Header menu'));
                            ?>
                        </div>

【问题讨论】:

  • 看不到 HTML 标记的样子,这将很难提供帮助。
  • 请定义“不工作”。
  • 您在 javascript 示例中选择的所有元素都没有出现在您的 HTML 示例中......不是很有帮助

标签: javascript jquery html css


【解决方案1】:

来自the jQuery docs on .css()

注意:.css() 忽略 !important 声明。因此,$( "p" ).css( "color", "red !important" ) 语句不会将页面中所有段落的颜色变为红色。强烈建议改用类;否则使用 jQuery 插件。

我建议完全删除 !important,并依靠 .css() 分配的内联样式属性的高度特异性

$(window).scroll(function() {
  var scroll = $(window).scrollTop();
  var os = $('#logo').offset().top;
  var ht = $('#logo').height();
  if (scroll > os + ht) {
    //Not working
    $('#header .nav > li > a').css("color", "#333");
  }
});

【讨论】:

  • 很高兴为您提供帮助!如果您有时间,将不胜感激:)
猜你喜欢
  • 1970-01-01
  • 2023-04-08
  • 2011-10-10
  • 2016-07-19
  • 1970-01-01
  • 1970-01-01
  • 2012-10-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多