2

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

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

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

我试过这样的事情:

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

或者:

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

但没有任何成功。

检查jsFiddle

更新

.css()调用只是一个示例,我实际上想调用其他类型的函数

4

2 回答 2

7

你很亲密。尝试:

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

哎呀,这行不通。这确实http://jsfiddle.net/4Bv9r/

$('body').on('DOMNodeInserted', ".red", function(){ $(this).css({backgroundColor: "pink"}) });
于 2013-09-05T19:01:01.627 回答
1

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

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

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

或者

然后将其添加到您的页面<style id='d_style'></style>

$('#d_style').text(".red { background-color: pink; }");
于 2013-09-05T19:05:24.647 回答