Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中动态定义具有特定样式的类_Javascript_Jquery_Css - Fatal编程技术网

Javascript 在jQuery中动态定义具有特定样式的类

Javascript 在jQuery中动态定义具有特定样式的类,javascript,jquery,css,Javascript,Jquery,Css,是否可以使用jQuery动态定义具有特定样式属性的类,而不是使用该类设置所有元素的样式 一旦创建了所有元素,我可以在脚本末尾设置类的属性,但这是最好的方法吗?如果我用$('.class').css('property','value')定义类的样式在脚本开始时,不会发生任何事情,因为类为.class的元素尚未创建,对吗?不确定您的推理是什么,但是是的-创建元素后必须调用脚本。如果您不想将脚本放在文档的末尾,请将其包装起来 $(document).ready(function() { ... }

是否可以使用jQuery动态定义具有特定样式属性的类,而不是使用该类设置所有元素的样式


一旦创建了所有元素,我可以在脚本末尾设置类的属性,但这是最好的方法吗?如果我用
$('.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; }");