vit*_*hsb 20 javascript css jquery numbers width
在尝试计算隐藏元素的宽度时,我发现jquery.width()为该元素的宽度返回0.
我发现使用jquery.css('width')会通过使用声明的样式宽度返回正确的宽度(即使该值与初始样式表不同).问题是css('width')方法返回一个字符串,通常是"100px"方式.我的问题解决了:如何从"100px"字符串中检索数字?有一个简单的方法吗?
Fen*_*ton 28
如果它总是以px格式返回,"100px","50px"等(即不是"em"或百分比),你可以......
var width = parseInt($("#myelem").css("width"),10); // always use a radix
Run Code Online (Sandbox Code Playgroud)
要么
var width = parseInt(element.style.width,10); // always use a radix
Run Code Online (Sandbox Code Playgroud)
它忽略了"px"后缀,所以你应该好好去.
虽然内心深处,但我认为如果$("#myelem").width()不能正常工作,那就不对了.
关于隐藏元素的注释.
如果要添加jQuery以逐步增强页面,则首次加载页面时,您计算的元素应该是可见的.所以你应该在最初隐藏元素之前获得宽度.通过这样做,$("#myelem").width()将起作用.
var myWidth = 0;
$(document).ready( function () {
myWidth = $("#myelem").width();
$("#myelem").hide();
});
Run Code Online (Sandbox Code Playgroud)
在简单的 JavaScript 中:
parseInt('100px', 10)
Run Code Online (Sandbox Code Playgroud)
适用于“100em”、“100%”,甚至“100”。不需要任何正则表达式模式。