更改属性 Javascript 方式的值

Change value of attribute Javascript way

本文关键字:方式 Javascript 属性      更新时间:2023-09-26

我这里有一个问题,或者更像是困惑。所以我知道通过javascript在html中更改属性的基础知识。例如:

<iframe id="iframe" src="http://www.stackoverflow.com/" width="610px">

因此,要更改id为"iframe"的元素的宽度属性,将是:

document.getElementById("iframe").setAttribute("width", "700px");

但是,当它以这种方式出现时,我如何通过 javascript 更改属性?(注意宽度属性之间的差异)

<iframe id="iframe" src="http://www.stackoverflow.com/" width=610>

但是,当它以这种方式出现时,我如何通过 javascript 更改属性?

完全相同:

.setAttribute("width", "700px");

.setAttribute("width", "700");

.setAttribute("width", 700);

请注意,无论如何,所有属性值都被视为字符串。HTML 语法只允许您在某些情况下省略引号,但这不会更改数据类型。从 HTML 规范:

默认情况下,SGML 要求使用双引号(ASCII 十进制 34)或单引号(ASCII 十进制 39)分隔所有属性值。

[...]

在某些情况下,作者可以指定不带任何引号的属性值。属性值只能包含字母(a-z 和 A-Z)、数字 (0-9)、连字符(ASCII 十进制 45)、句点(ASCII 十进制 46)、下划线(ASCII 十进制 95)和冒号(ASCII 十进制 58)。我们建议使用引号,即使可以消除它们。

如果您查看 DOM API 规范,您会发现setAttribute被定义为接受DOMString作为参数。JavaScript 实现将相应地转换您传递给此方法的任何值。

完全相同的方式。虽然,在第二个示例中,您没有正确设置id

<iframe id="iframe" src="http://www.stackoverflow.com/" width=610>
<--       ^ added equal sign here                              -->

通过该更改,您的代码可以正常工作:http://jsfiddle.net/FECq3/