<script src="jquery.js"></script>
<p id="a1">
<p class="aa" style="width: 200px;">423423423423423423423</p>
<p class="aa" style="width: 180px;">42342342342342342</p>
<p class="aa" style="width: 150px;">123123</p>
</p>
<script>
var w = 0
$("#a1 .aa").each(function(){
w += $("#a1 .aa").width();//获取宽度。并累加
})
$("#a1").width(w)
</script>
<style>
.aa{
display: inline-block;
}
</style>
Ursprünglich sollte das Ergebnis so aussehen
Aber nach dem Entfernen der Inline-Stile ist das Ergebnis großartig.
Warum Inline-Stile entfernen? Das ist es? ? ? ?
把
style
标签对放到dom
和js
之前你的代码结构如果没有行内样式,会先把
.aa
按照块级元素
处理,宽度为100%js处理完成之后才读取style标签对,把
.aa
处理为行内块级元素
,宽度缩短同步的代码要把位置摆正确
w += $("#a1 .aa").width();//获取宽度。并累加
把style里的样式放在最上边,页面加载是从上往下加载的,p是块级元素,.aa{display:inlne-block;}在最下边并没有起作用
你没有理解
$(selector)
的真正意思去查查会返回什么就知道问题了
另一个问题
要明白 样式 到哪里才会被加上,会被提前加载吗?
而 script 的执行是怎样?