是这样的, 比如说我现在
$(".abc).click(function(){
var ccc = ~~~~
$("#test").append(ccc);
$("#test").each(function(){
.......
});
})
执行顺序是这样的, each在append后面, 但是,每次第一次执行的时候
都是元素还没创建完成就执行each了, 怎样可以等append完成创建完成之后在执行each呢? 望大神赐教
append又不是异步的,你要获取test下新增的内容肯定没有问题的,你each里面有什么东东,each肯定有问题
这个例子,并不影响$("#test span").length的结果,不知道你是怎么写的
<p class="abc">click</p>
<div id="test"></div>
<script>
$(".abc").click(function(){
var ccc = "<span>1</span>";
$("#test").append(ccc);
$("#test").each(function(){
alert($("#test span").length);
});
})
</script>
我遇到过这种情况,后面的js偶尔会先执行,循环调用接口的时候很可能后面的先拿到数据,
我也没解决,所以我做了一个延时处理,等50毫秒早执行下一个,看不出有什么差别所以暂时就将他了,尴尬
//$("#test")获取到的是test对象本身,加each没有意义,改动一下
$(".abc).click(function(){
var ccc ='<img id="img1" src=""/><img id="img1" src=""/><img id="img1" src=""/>';
$("#test").append(ccc);
$("#test img").each(function(){
var height=$(this).css('height');//$(this)可以获取每个img对象本身
});
})