jquery - 为什么我的 jQuery .css() 代码没有应用样式?

标签 jquery css

我查看了多个现有帖子,但没有一个能为我提供解决方案。

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

更新

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

$('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;
}

最佳答案

@MDrX 想通了。我的 .menu-btn 是动态创建的,所以将我的代码添加到创建按钮的同一个 block 中,它起作用了!

最终结果:

    // Add Mobile Menu Button
    $('nav').before('<button class=".menu-btn" role="button" aria-pressed="false"><span>toggle menu</span></button>'); // Add toggles to menus
    $('nav .sub-menu').before('<button class="sub-menu-toggle" role="button" aria-pressed="false"></button>');
    $('.menu-btn').css ({
        'top':'unset',
        'right':'unset',
        'left':'10px',
        'bottom':'15px',
        'z-index':'100',
        'position':'fixed'
    });

我现在在这里发布答案,但我在等着看@MDrX 是否会发布答案,这样我就可以称赞他和那个可爱的代表 :)

关于jquery - 为什么我的 jQuery .css() 代码没有应用样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53193797/

相关文章:

css - 单向动画

html - CSS 过渡,其中缩放图像与整个图像库重叠

jquery - 如果 tbody 有多个子元素,请添加 show element1

javascript - 如何让jQuery ajax执行错误函数

javascript - 当我尝试通过 js split 解析时,第一个元素是空字符串

javascript - getElementById 和 jquery 之间的区别 $('#smth' )

css - Angular CLI 'ng serve' 忽略较少并使用可用的 css

HTML TextArea 适合内容(在页面加载时)

javascript - 在函数调用 jquery 期间显示 div

javascript - 委托(delegate)事件触发,即使它不应该触发