如何在DOM中的每个元素中调用函数,即使它们是动态创建的

时间:2013-09-05 18:56:45

标签: javascript jquery jquery-on

我想在DOM上的特定元素上调用一个函数,例如:

$(".red").css({backgroundColor: "pink"});

它适用于已存在于DOM中的任何元素,但我也希望在动态添加到DOM中的元素中调用此方法。

我尝试过这样的事情:

$(".red").on(function(){ this.css({backgroundColor: "pink"}) });

或:

$(".red").on("load", function(){ this.css({backgroundColor: "pink"}) });

但没有任何成功。

检查jsFiddle

更新

.css()电话只是一个例子我实际上想要调用其他类型的函数

2 个答案:

答案 0 :(得分:6)

你很亲密。尝试:

$(document).on("load", ".red", function(){ this.css({backgroundColor: "pink"}) });

糟糕,这不起作用。这样做http://jsfiddle.net/4Bv9r/

$('body').on('DOMNodeInserted', ".red", function(){ $(this).css({backgroundColor: "pink"}) });

答案 1 :(得分:1)

如果您知道要动态添加元素,最好的方法是将规则添加到样式表。

或者你可以动态创建样式,

$("<style>").text(".red { background-color: pink; }").appendTo("head");

OR

在您的页面<style id='d_style'></style>然后

中添加此内容
$('#d_style').text(".red { background-color: pink; }");