情况:
加载外部第三方脚本,向DOM添加一些内容。
目标:
只要将这些内容添加到DOM中,我就想用一些jQuery来操作它的内容。
为了确保在操作它之前存在这个新的DOM元素,我可以这样做:
var updateText, target;
updateText = function() {
target = $('#targetElement');
if(target.length) {
target.text('Updated!');
} else {
window.setTimeout(updateText, 500);
}
};
updateText();
这看起来有点可怕。有没有更好的方法来处理这种依赖?
相关限制:
<script>
元素加载src
属性中的特定网址。因此,通过传递给$script.js加载脚本不起作用。答案 0 :(得分:0)
您可以使用DOMSubtreeModified事件执行此操作。这是一个例子:
$("#a").bind("DOMSubtreeModified", function() {
alert("tree changed");
$("span").css("background", "blue");
});
$("#add").click(function() {a
$("#a").append("<span>hey there</span><br>");
});
&#13;
div {
background-color: black;
}
span {
background-color: red;
color: white;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="a">
</div>
<button id="add">Add to Div</button>
&#13;