<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title><script language="javascript" type="text/javascript"> function showMsg(){ document.getElementById("textfield").value=document.getElementById("textfield").width;} </script></head><body> <input type="submit" name="Submit" value="提交"id="Submit" onclick="showMsg()" /> <input type="text" style="width:100px;" id="textfield" name="textfield" /></body></html> 直接把代码搞成HTML代码运行下,宽度竟然显示为0,何解?
回复讨论(解决方案)
document.getElementById("textfield").width
--》
document.getElementById("textfield").style.width
document.getElementById("textfield").width
--》
document.getElementById("textfield").style.width
这个时候显示的是 100px;而不是100这个数字。
function showMsg(){ var x=document.getElementById("textfield").style.width; var y=x.split("px"); document.getElementById("textfield").value=y[0];}
function showMsg(){ var x=document.getElementById("textfield").style.width; var y=x.split("px"); document.getElementById("textfield").value=y[0];} 切割字符串我当然知道;问题是第二种办法是获取的样式,毕竟原生接口里可以直接获得宽度,为什么打印出来是0?
function showMsg(){ var x=document.getElementById("textfield").style.width; var y=x.split("px"); document.getElementById("textfield").value=y[0];} 切割字符串我当然知道;问题是第二种办法是获取的样式,毕竟原生接口里可以直接获得宽度,为什么打印出来是0?
因为你写的不对呗,正确的写法楼上@zpjshiwo77已经给出了,是document.getElementById("textfield").style.width,这是内联式css获取的方法
document.getElementById("textfield").width
--》
document.getElementById("textfield").style.width
这个时候显示的是 100px;而不是100这个数字。
parseInt(document.getElementById("textfield").style.width);
您老看看行不











