javascript - 使用 `innerHTML` 是在具有 `button` 属性的 JavaScript 中创建 `type` 元素的唯一方法吗?

标签 javascript button

我想用以下 JavaScript 制作一个按钮...

var button = document.createElement('button');
button.type = 'button';
button.appendChild(document.createTextNode('I am button'));
document.body.appendChild(button);

效果很好,除了在 IE7/8 中(我目前测试过的所有内容)。

Message: Object doesn't support this action
Line: 185
Char: 9
Code: 0
URI: http://example.com/widget.js

我找到了解决方法...

document.body.innerHTML = '<button type="button">I am button</button>';

也就是设置innerHTML,让浏览器来解析。

jsFiddle .

有没有其他方法可以在不设置 innerHTML 属性的情况下让它在 IE 中工作?

最佳答案

你试过.setAttribute()了吗?以下似乎适用于 IE 8(未在 7 中测试)、Chrome、FF:

<html>
<body>
<script>
var button = document.createElement('button');
button.setAttribute('type','button')
button.appendChild(document.createTextNode('I am button'));
document.body.appendChild(button);
</script>
</body>
</html>

关于javascript - 使用 `innerHTML` 是在具有 `button` 属性的 JavaScript 中创建 `type` 元素的唯一方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7238735/

相关文章:

javascript - 推送未定义的属性

ios - 使按钮单击专属于按钮图片?

css 链接按钮选择的颜色

facebook - 我的 Facebook 点赞按钮没有显示

javascript - iPad 没有选择文本输入中的所有文本

javascript - 根据其他图像的位置将图像旋转 90 度

javascript - JS中的变量变量

javascript - 通过 jquery 添加新的 div/元素,但没有 ID/类 div 父级

Swift:单击带有segue的按钮时显示UIView

javascript - 单击时反转 html 的颜色(imgs 除外)