在页面上加载引导程序的
navbar
填充标签直到不再适合它为止。我用他们的
width
$('label').css('width')
它在FF中运行良好,但当我在Chrome中测试时,标签会溢出
导航栏
和viewport。
调试代码时注意到
$('label').css('width')
计算的
和
console.log(parseFloat($('label').css('width')))
产出:64.725
另一方面,在FF中:
和
输出:82.4,提示正确。
HTML格式
<label class="btn btn-light" data-original-title="" title="">
<a class="btn" href="http://localhost">
<img src="images/amazon.png"> TEXT
</a>
</label>
塔克斯
更新
都试过了
$('label')[0].clientWidth; //63
$('label').get(0).offsetWidth; //65
document.defaultView.getComputedStyle($('label')[0])['width']; //64.725px
$('label').css('width'); //64.725px
临时(希望)解决方案:
这是特别奇怪,很难找到,因为,记住,它在浏览器中工作,而不是在另一个。
碰巧,在图像加载到标签中之前,我正在查询标签的宽度,导致它产生一个误导性的结果。
我在用
$(window).ready()
,罪名成立,但
$(window).on("load", () => {})
也不是
window.onload = () => {}
window.addEventListener('load', () => {})
成功了,尽管第一个和其他的关键区别之一是
执行
只要DOM是可操作的
猜猜是谁解决了这个问题:
this post
.
setTimeout(() => {}, 0)
这一次是英雄,是的,但是超时为0。现在代码实际上是在等待图像加载。
注意:我确实切换到了
window.onload=()=>{}
我希望这能节省别人的时间。