我正在尝试在调整窗口大小时更改元素的宽度。我试图获取元素的宽度,但它返回NaN
。这是我获取宽度的代码并记录它:
var widthItemMedia = parseInt($(".my-class .list-block .item-media i").css('width'));
console.log("Previous: " + lastWindowWidth + " Current: " + windowWidth + " Width " + widthItemMedia);
答案 0 :(得分:6)
.css(width)
和.width()
之间的区别在于后者返回无单位像素值(例如,400),而前者返回单位完整的值(例如,400px)。当需要在数学计算中使用元素的宽度时,建议使用.width()
方法。
如果您想使用数字,请使用.width()
:
var widthItemMedia = $(".my-class .list-block .item-media i").width();
您也不需要parseInt()
。 parseInt()
函数允许输入字符串的 end 处的非数字内容,因此" 20px"很好。但是,像" auto"是不罚款。 .width()
方法可以获得实际的布局宽度。另请参阅.innerWidth()
和.outerWidth()
方法,根据具体情况,这些方法有时可以为您提供所需的答案。