Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript IF语句检查style.width_Javascript_Html_Css - Fatal编程技术网

使用Javascript IF语句检查style.width

使用Javascript IF语句检查style.width,javascript,html,css,Javascript,Html,Css,我需要用js if语句检查style.width。但它不起作用。我该怎么做 我的if代码: if (document.getElementById("XXX").style.width == "100%") { } 由于“宽度”样式实际上可能是空的(不存在),我个人也会检查它 var elm_width = document.getElementById("XXX").style.width; if(elm_width &&

我需要用js if语句检查style.width。但它不起作用。我该怎么做

我的if代码:

if (document.getElementById("XXX").style.width == "100%")
{

}
由于“宽度”样式实际上可能是空的(不存在),我个人也会检查它

var elm_width = document.getElementById("XXX").style.width;
if(elm_width && elm_width == "100%"){
  ...
}
甚至,根据脚本流

var elm_width = document.getElementById("XXX").style.width;

if(elm_width){
  if(elm_width == "100%"){
    ...
  }
}else{
  console.error('No width for element');
}
注意:当然,这是如果您需要实际的CSS宽度。
如前所述,如果您想获得可视元素宽度,还有其他JS方法。

代码似乎很好,您是否确定要比较的元素是正确的(不是键入/未定义的内容)?如果id为“XXX”的元素的宽度明确定义为“100%”,那么它应该可以工作。如果元素未定义,则会出现错误“无法读取未定义的属性样式”。我认为元素的样式不是{width:100%}。首先控制台它。我在一个函数中运行这个if块,这个函数由另一个函数调用。是否会导致这种情况?宽度是在样式表中设置的(在文档的
或其他地方),还是使用
style=“width:100%”
内联
style
属性设置的?如果它是在
style
属性中设置的,那么您的代码应该可以工作(尽管编写时它没有任何作用,但是您是否在脚本中添加了
else{//do other}
条件?如果它是使用样式表设置的,那么您需要使用
window.getComputedStyle(document.getElementById('XXX'),null).width
来检索宽度,尽管它将以像素单位返回,而不是字符串
100%