Javascript 在jQuery中动态定义具有特定样式的类
是否可以使用jQuery动态定义具有特定样式属性的类,而不是使用该类设置所有元素的样式Javascript 在jQuery中动态定义具有特定样式的类,javascript,jquery,css,Javascript,Jquery,Css,是否可以使用jQuery动态定义具有特定样式属性的类,而不是使用该类设置所有元素的样式 一旦创建了所有元素,我可以在脚本末尾设置类的属性,但这是最好的方法吗?如果我用$('.class').css('property','value')定义类的样式在脚本开始时,不会发生任何事情,因为类为.class的元素尚未创建,对吗?不确定您的推理是什么,但是是的-创建元素后必须调用脚本。如果您不想将脚本放在文档的末尾,请将其包装起来 $(document).ready(function() { ... }
一旦创建了所有元素,我可以在脚本末尾设置类的属性,但这是最好的方法吗?如果我用
$('.class').css('property','value')定义类的样式代码>在脚本开始时,不会发生任何事情,因为类为.class
的元素尚未创建,对吗?不确定您的推理是什么,但是是的-创建元素后必须调用脚本。如果您不想将脚本放在文档的末尾,请将其包装起来
$(document).ready(function() {
...
});
或者,也可以使用速记
$(function() {
...
});
因此,一旦加载了所有HTML,它就会触发。如果我理解您的意思,您希望为特定元素添加样式
您不必使用.css(a,b)
来执行此操作。jQuery有一个名为addClass(“className”)的函数
将向您想要的任何元素添加一个类
$('.originalClass').addClass('addedClass');
它不会覆盖原始文件
这就是你想要的吗
编辑:
或者你是说你想用javascript修改你的样式表
如果是这种情况,那么就有修改样式表属性的javascript规则
如果您(出于某种原因)无法更改样式表,那么您可以简单地将样式存储在一个对象中,并应用它
var stylesToAdd = { background:"orange", border:"1px solid blue" }
并使用.css()
应用它们
$('#myElement').css(stylesToAdd);
正确的方法是使用CSS。如果希望类为“foo”的元素具有一组属性,则将这些属性放入CSS文件中,并将它们与适当的选择器关联:
.yourClass {
font-weight: bold;
color: green;
}
如果需要动态执行此操作,可以使用Javascript编写CSS块。在页面中放置一个
元素,并给它一个“id”值:
我正在使用jQuery生成页面上的元素,我希望通过使用类而不是使用css()
指定所有样式属性来使代码更整洁。问题是我想动态地设置这些类的属性。此外,正在$(document).ready(function(){})中生成相关元素代码>老兄,试图回答一个模糊的问题而得a-1真的很刺痛。您正在查找.addClass()
?因为害怕更多的惩罚,这边没有更多的答案:PSorry如果我的问题含糊不清,我会尽力解释,你不应该得到-1。Pointy的回答和patrick的编辑一针见血。他希望能够为具有特定类的元素生成样式信息,然后使这些样式动态生效。他不想让jQuery直接修改每个元素的样式。问题是在我的javascript中指定该类的样式。我明白了。Pointy的解决方案会奏效,或者我添加了另一个选项。
<style id='dynamicStyle'></style>
$('#dynamicStyle').text(".yourClass { font-weight: bold; }");