【发布时间】:2017-05-18 22:11:31
【问题描述】:
默认jquery append只支持.append( content [, content ] ),如何实现如下代码:
$(body).append("<p>prpr</p>", function() {
// do smth after append
})
【问题讨论】:
-
基本上你是在请求回电?
标签: javascript jquery
默认jquery append只支持.append( content [, content ] ),如何实现如下代码:
$(body).append("<p>prpr</p>", function() {
// do smth after append
})
【问题讨论】:
标签: javascript jquery
不要认为你需要回调,.append() DOM 操作是同步的。所以只需将函数放在.append() 行下方
【讨论】:
在 jQuery 中,您可以检查 $(element).length 以确保已附加新的 DOM 节点。
工作示例:
$(document).ready(function(){
$('body').append('<p class="newParagraph1">This is a new paragraph, added via a script.</p>');
$('body').append('<p class="newParagraph2">This is a second new paragraph, added via a script.</p>');
if ($('.newParagraph1').length) {
console.log('The first dynamically added paragraph just loaded.');
}
if ($('.newParagraph2').length) {
console.log('The second dynamically added paragraph just loaded.');
}
if ($('.newParagraph3').length) {
console.log('The third dynamically added paragraph just loaded.');
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>This paragraph is already in the markup</p>
【讨论】:
$("div").each(
function(){
$(this).append("<p>prpr</p>");
function() {
// do smth after append
}
}
}
【讨论】: