我在<a>中有一个div的HTML标记。
div样式使用'Lato'字体,字体粗细为700。

当我尝试获得a标签宽度时,我在chrome中得到了错误的值。

我试过了:

width()
outerWidth()
innerWidth()
clientWidth
offsetWidth


他们都给了我错误的价值观。

我还注意到,当我删除font-weight CSS样式时,此问题消失了。

有任何想法吗?

谢谢

最佳答案

<a>是一个内联元素。因此,它不使用盒子模型。认为它是“湿滑的”。我不确定为什么它可以使用不同的字体粗细。

您可能要测量<a>的第一个块级父级的innerWidth。

就像是:

$('<a>').closest('div').innerWidth();


或者,您可以使用CSS将其设为一个块,然后您现有的js应该可以工作:

a { display: inline-block; }

关于javascript - jQuery innerWidth/externalWidth和javascript clientWidth/offsetWidth在chrome上给出错误的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32049752/

10-11 19:27