首页  >  文章  >  web前端  >  一段神奇的代码,宽度显示为0?_html/css_WEB-ITnose

一段神奇的代码,宽度显示为0?_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:36:241342浏览

<!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);

 您老看看行不
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn