如何使用javascript获取元素的宽度?

如何使用javascript获取元素的宽度?,javascript,width,Javascript,Width,我试图将一个元素的宽度与下面的代码“100%”进行比较。我写了这段代码,但没有成功。元素的宽度为100%。请指教 if (document.getElementsByClassName("progress-bar")[0].offsetWidth ==="100%") { clearInterval(r1); clearInterval(r2); clearInterval(r3); } 您的代码工作正常,但offsetWidth返回屏幕上元素的物理像素宽度。由于您正在

我试图将一个元素的宽度与下面的代码“100%”进行比较。我写了这段代码,但没有成功。元素的宽度为
100%
。请指教

if (document.getElementsByClassName("progress-bar")[0].offsetWidth ==="100%") {
    clearInterval(r1);
    clearInterval(r2);
    clearInterval(r3);
}

您的代码工作正常,但
offsetWidth
返回屏幕上元素的物理像素宽度。由于您正在使用
==
进行严格的相等比较,
if()
never的计算结果为true
offsetWidth
返回一个整数开始,并且永远不会追加
%

例如,请参见-
的值变为整数

如果您确实需要将宽度作为百分比值,则需要使用以下属性访问元素的CSS定义:

document.getElementsByClassName("progress-bar")[0].style.width;

最终,您的
if()
块将变成:

if( document.getElementsByClassName("progress-bar")[0].style.width == '100%' ) 
{
    clearInterval(r1);
    clearInterval(r2);
    clearInterval(r3);
}

您的代码工作正常,但
offsetWidth
返回屏幕上元素的物理像素宽度。由于您正在使用
==
进行严格的相等比较,
if()
never的计算结果为true
offsetWidth
返回一个整数开始,并且永远不会追加
%

例如,请参见-
的值变为整数

如果您确实需要将宽度作为百分比值,则需要使用以下属性访问元素的CSS定义:

document.getElementsByClassName("progress-bar")[0].style.width;

最终,您的
if()
块将变成:

if( document.getElementsByClassName("progress-bar")[0].style.width == '100%' ) 
{
    clearInterval(r1);
    clearInterval(r2);
    clearInterval(r3);
}

哦,对不起。我认为最好的检查方法是检查父元素的宽度是否与此元素相同。我不认为你能百分之百地做到。哦,对不起。我认为最好的检查方法是检查父元素的宽度是否与此元素相同。我不认为你能百分之百地做到这一点string@programmer138200没问题。如果答案对你合适,请接受。@programmer138200没问题。如果答案对你合适,请接受。