我正试图在页面上动态应用样式到一些下拉列表。使用jQuery addClass确实将类添加到所有“Select”元素,我可以从Chrome控制台中看到这一点。然而,样式未应用于元素。
现在,如果我手动为每个选择元素单独添加类,然后保存页面并刷新它,样式就应用于该元素。
你有任何想法为什么使用jquery类注入时样式没有应用?
$("select").addClass("select js-select");
$("select").addClass("select js-select");
<p><a href="#" id="clicker">Add Class</a></p>
<div id="select">Hello World</div>
javascript
$("#clicker").click(function () {
$("#select").addClass("select js-select");
});
从您的代码中看,似乎$("select")应该有一个ID或类选择器。通过使用其中一个选择器,您的代码将知道应用样式的目标。否则,您的代码也可以正常工作。
祝好运,希望这能帮助到您。
如果将onDomReady更改为onLoad,则可以正常工作。 例如http://jsfiddle.net/gc3wQ/9/
补充LazyTarget的答案。
您尝试使用类添加的样式可能会被元素中已经存在的CSS覆盖。
例如,这样做不起作用(无法隐藏div)
$(function (argument) {
function loaded(){
$('.landing .scroll').addClass('hidden');
}
loaded();
})
.hidden{
display: none;
transition: all ease-in-out 0.3s;
}
.shown{
display: block;
transition: all ease-in-out 0.3s;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="shown">
<h1>Hello</h1>
</div>