如果设置了doctype,则无法通过javascript将CSS应用于表单元素

vin*_*osy 5 html javascript

我有这样的文本框:

<input id="patId1" type="text" name="patId1" value="">
Run Code Online (Sandbox Code Playgroud)

当页面加载时,会调用一个脚本来设置文本框的宽度.该代码如下:

document.getElementById("patId1").style.width = document.getElementById("patId2").offsetWidth;
Run Code Online (Sandbox Code Playgroud)

其中,patId2是下拉列表(选择标记).基本上我要做的是将文本框的宽度设置为与下拉列表的宽度相同.

现在,如果设置了DOCTYPE,则上述脚本不起作用.但如果未设置,则应用宽度.

任何帮助.

Que*_*tin 4

的值offsetWidth将是一个数字。CSSwidth属性接受length。长度(除了0)必须有单位。在怪异模式下,浏览器违反 CSS 规范并采用px单位。

document.getElementById("patId1").style.width = document.getElementById("patId2").offsetWidth + 'px'
Run Code Online (Sandbox Code Playgroud)