jQuery - 改变未创建的div元素的样式

时间:2017-09-21 20:43:29

标签: javascript jquery html css

我为此尝试 searchengine ,但我不确定如何完全称呼它。

我可以成功地改变我的div元素的样式,例如:

$(document).ready($('div.element1').css("float", "left"));

这将成功更改存在的类element1的所有元素。但是,新的(在执行上面之后)元素仍将使用旧选项float: right;生成。永久性地更改此div的样式的最佳/最简单选项是什么?我可以在元素创建后手动注入它,但说实话感觉不对。

3 个答案:

答案 0 :(得分:2)

最好不要使用.css()方法添加内联样式,而只需添加/删除具有样式的类,因此为所有这些元素的样式创建一个类。

如果新创建的元素具有您定义的类,那么它们也将具有该样式。

您可以选择执行此操作:

$(document).on('change or_other_event','your_selectors', function(){
   // your code
});

如果新元素包含类element1element2 ...,则需要这样的内容:

$(document).on('change','div[class*="element"]', function(){
   // your code
});

答案 1 :(得分:1)

只需在css上创建一个新类,然后将该类添加到新元素

.newElement{
 color:red//example style
}

$("<div>",{class:'newElement'})

答案 2 :(得分:0)

您的代码:

$(document).ready($('div.element1').css("float", "left"));

相当于:

var element = $('div.element1').css("float", "left");
$(document).ready(element);

这意味着任何未绘制的元素都不会受到影响。而是使用:

$(document).ready(function() {
   $('div.element1').css("float", "left");
});

上面的代码确保在页面加载后进行更改。