使用Javascript IF语句检查style.width
我需要用js if语句检查style.width。但它不起作用。我该怎么做 我的if代码:使用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 &&
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%
。