Javascript 为什么输入中不显示宽度样式值?

Javascript 为什么输入中不显示宽度样式值?,javascript,input,onclick,styles,return-value,Javascript,Input,Onclick,Styles,Return Value,我试图从“demo”div中获取宽度,并将其放入“input number”值中。我不知道我在哪里犯了错误 函数myFunction(){ var element=document.getElementById(“海报”), style=window.getComputedStyle(元素), 宽度=style.getPropertyValue('width'); document.getElementById(“demo”).value=width; } 点击我! 您需要将宽度转换为数字,

我试图从“demo”div中获取宽度,并将其放入“input number”值中。我不知道我在哪里犯了错误

函数myFunction(){
var element=document.getElementById(“海报”),
style=window.getComputedStyle(元素),
宽度=style.getPropertyValue('width');
document.getElementById(“demo”).value=width;
}

点击我!

您需要将
宽度
转换为
数字
,因为您使用的是
输入数字
而不是文本。实际上,您的
宽度
是一个字符串(35px)

函数myFunction(){
var element=document.getElementById(“海报”),
style=window.getComputedStyle(元素),
宽度=style.getPropertyValue('width');
document.getElementById(“demo”).value=parseFloat(宽度);
}


点击我
这个问题是因为
宽度
值是
35px
,所以在将
px
分配给
document.getElementById(“demo”)。值
在您的
输入
类型为
number
后立即变为数字,如下代码

<div id="poster" style="width:35px;height:45px;background-color:blue;"></div>
<input id="demo" type="number" placeholder="0" min="" max="" step="0.1">
<button onclick="myFunction()" type="button">Click Me!</button>
<script>
    function myFunction() {
        var element = document.getElementById("poster"),
        style = window.getComputedStyle(element),
        width = style.getPropertyValue('width').match(/\d+/);

      document.getElementById("demo").value = width;
    }
</script>

在一些div元素中,我有300px,如果我把百分比放在像素中,我总是返回30%。如何从宽度中仅获取数字300或30,而不将其转换为pixsele?这可能会帮助您。。。没有帮助,我可以得到百分比数字形式样式宽度而不仅仅是px吗?不,getPropertyValue总是返回px,您必须使用parseFloat(宽度)将px转换为percentage;我只得到了一个数字,如何只得到文本px或%,因此我可以使用if()?在一些div元素中,我有300px,在大约30%,如果我把我总是返回的百分比用像素表示的话。如何从宽度中仅获取数字300或30,而不将其转换为pixsele?Work grat:)我现在需要从width=px或%中提取文本,以便将其转换为表单,并使用if(),How?Ahmed。我需要使用(“演示”)。值=浮动(宽度);获取输入数字中的数字。例如,width=“35px”在没有px或%的情况下,我只得到35。在我的代码中,除了输入数字之外,我还可以选择px或%,因此我还应该从宽度px或%中获取文本。widouth数字,所以我输入选择值。我需要单独的变量,一个用于数字(35),一个用于宽度的字母(px或%)。35在输入编号中插入值,在选项选择中插入px或%值。
  <div id="poster" style="width:35px;height:45px;background-color:blue;"></div>
<input id="demo" type="number" placeholder="0" min="" max="" step="0.1">
<select id="unit" >
  <option >none</option>
  <option value="%">%</option>
  <option value="px">px</option>
</select>
<button onclick="myFunction()" type="button">Click Me!</button>
<script>
    function myFunction() {
        var element = document.getElementById("poster"),
        width = element.style["width"].match(/\d+/),
        unit = element.style["width"].match(/[^\d]+/);
        document.getElementById("unit").value = unit
        document.getElementById("demo").value = width;
    }
</script>