为什么我的jQuery .css()代码未应用样式?

时间:2018-11-07 16:32:41

标签: jquery css

我查看了多个现有帖子,但是没有一个适合我。

编辑:有人问为什么我使用jQuery(document).ready(function($)这是一个Wordpress网站。如果您想使用$,则必须像这样包装jQuery,因为$被Wordpress框架使用,并且会破坏代码。< / p>

更新

这是动态创建按钮的代码。我不会这样做,但是当我在这里开始工作时,我已经继承了该站点:

$('nav').before('<button class="menu-btn" role="button" aria-pressed="false"><span>toggle menu</span></button>'); 
        $('nav .sub-menu').before('<button class="sub-menu-toggle" role="button" aria-pressed="false"></button>'); 

不仅不应用样式,而且在开发工具中甚至不可见,因此我知道它们并不会被内联样式或其他东西简单地覆盖。 jQuery CSS根本没有被加载。

详细信息:

  • 控制台日志中没有错误。
  • 通过JS提示运行时没有错误
  • Chrome调试器显示已执行的代码
  • Chrome元素标签未显示加载的样式
  • .site-title的样式被完美地应用
  • .menu-btn根本不适用。
jQuery(document).ready(function($) {

  $('.site-title').css({
    'grid-column-start': '2',
    'grid-column-end': '6'
  });

  $('.menu-btn').css({
    'top': 'unset',
    'right': 'unset',
    'left': '10px',
    'bottom': '15px',
    'z-index': '100',
    'position': 'fixed'
  });
});

通过CSS添加相同样式时,它们将正确应用。

body > div.site-container > button.menu-btn {
  top: unset;
  right: unset;
  bottom: 15px;
  left: 10px;
  z-index: 100;
  position: fixed;
}

1 个答案:

答案 0 :(得分:1)

@MDrX知道了。我的NSWindowController是动态创建的,因此将我的代码添加到了创建按钮的同一块中,并且可以正常工作!

最终结果:

.menu-btn

我现在在这里发布答案,但是我在等@MDrX是否会发布答案,以便我给他功劳以及那甜美,甜蜜的代表:)