0

当我放置任何类型的文档类型声明<!DOCTYPE html >时,appendChild 不起作用....为什么?

<form>
<script language="javascript">
    function function2() {
        var myElement = document.createElement('<div style="width:600; height:200;background-color:blue;">www.java2s.com</div>');
        document.forms[0].appendChild(myElement);
    } 
</script>


<button onclick="function2();"></button>

</form>

我正在尝试从弹出窗口的父打开器中获取数据……这可能吗?数据可以是字符串文字或使用 jQuery 绑定到 DOM 的值 .data()

4

1 回答 1

1

如果您在 IE 中遇到此问题,可能是因为 DOCTYPE 声明的存在迫使浏览器进入“标准兼容”模式。这可能会导致不符合预期标准的代码中断。

在您的情况下,这可能是因为document.createElement不接受 HTML 片段 - 它接受元素名称,例如document.createElement('div').

尝试用这样的东西替换你的函数体:

var myElement = document.createElement('div');
myElement.style.width = '600px';
myElement.style.height = '200px';
myElement.style.backgroundColor = 'blue';
myElement.appendChild(document.createTextNode('www.java2s.com'));
document.forms[0].appendChild(myElement);

在此处阅读文档对象模型:https ://developer.mozilla.org/en/DOM

此外,jQuery非常适合使用您指定的语法轻松创建元素。

于 2010-07-09T03:59:24.990 回答