我想隐藏所有孩子,然后追加其他孩子。问题是有时候append()先发生然后hide()发生(Chrome,Firefox)。
我的期望:
Parent
Other child
但有时打印:
Parent
Child
实际上,如果我在IE9中运行此代码,它总是打印:
Parent
Child
完整代码
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.0.js'></script>
<script type='text/javascript'>
$(document).ready(function(){
// Hide children.
$(".parent").children().hide();
// Append more child.
$(".parent").append("<div class=\"otherChild\">Other child</div>");
});
</script>
</head>
<body>
<div class="parent">
Parent
<div class="child">
Child
</div>
</div>
</body>
</html>
答案 0 :(得分:3)
然后在complete
:
<script type='text/javascript'>
$(document).ready(function(){
// Hide children.
$(".parent").children().hide(2000, function() {
// Append more child.
$(".parent").append("<div class=\"otherChild\">Other child</div>");
});
});
</script>
答案 1 :(得分:3)
<强> Demo Fiddle 强>
使用hide()
- Reference
.hide('duration',callback)
:
0
。$(document).ready(function(){
$(".parent").children().hide(0, function() {
$(".parent").append('<div class="otherChild">Other child</div>');
});
});