Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以将子标记插入<;选项>;元素是否使用innerHTML?_Javascript_Html_Google Chrome_Dom_Innerhtml - Fatal编程技术网

Javascript 是否可以将子标记插入<;选项>;元素是否使用innerHTML?

Javascript 是否可以将子标记插入<;选项>;元素是否使用innerHTML?,javascript,html,google-chrome,dom,innerhtml,Javascript,Html,Google Chrome,Dom,Innerhtml,我所处理的项目使用了小胡子模板,这些模板使用jQuery的html()方法呈现到页面中 我注意到,当我的模板被添加到页面中时,我在标记中编写的节点被它们的内部文本替换。但是,在使用DOM方法(如createElement、appendChild等)构建我的页面时,不会发生这种情况 我知道。但我只是使用将其替换为自定义表单控件,该控件将每个的内部HTML复制到中 此代码段模拟相同的行为: //使用DOM方法: var select=document.createElement('select')

我所处理的项目使用了小胡子模板,这些模板使用jQuery的
html()
方法呈现到页面中

我注意到,当我的模板被添加到页面中时,我在
标记中编写的节点被它们的内部文本替换。但是,在使用DOM方法(如
createElement
appendChild
等)构建我的页面时,不会发生这种情况

我知道。但我只是使用
将其替换为自定义表单控件,该控件将每个
内部HTML
复制到

此代码段模拟相同的行为:

//使用DOM方法:
var select=document.createElement('select'),
option=document.createElement('option'),
strong=document.createElement('strong'),
withDOM=document.getElementById('dom-methods'),
withInnerHTML=document.getElementById('inner-html'),
示例HTML='你好';
strong.appendChild(document.createTextNode('Hello'));
选项。追加子项(强);
选择.appendChild(选项);
withDOM.appendChild(选择);
withDOM.appendChild(
document.createTextNode(select.innerHTML)
);
//使用innerHTML
withInnerHTML.innerHTML=示例HTML;
withInnerHTML.appendChild(
document.createTextNode(withInnerHTML.innerHTML)
)
选择{display:block}
使用DOM方法

使用innerHTML

不确定预期的结果是什么?我希望生成的元素具有相同的内容,但在
标记上使用innerHTML结果会丢失。乍一看,我想说,在使用innerHTML和document.createElement时会发生不同的事情。。。我一直在使用document.createElement,您可以告诉文档为您做些什么,而不是像innerHtml中那样给出一个字符串,该字符串最终将成为一个标记。。。这里有一些关于它的其他事情。。。试图在
元素中设置
元素的目的是什么?元素的允许内容为文本。“允许包含最终转义字符(如é;)的内容文本。”您可能会更好地使用a而不是
作为起点。不确定预期的结果是什么?我希望结果元素具有相同的内容,但在
标记上使用innerHTML结果会丢失。乍一看,当您使用innerHTML时,会发生不同的事情和document.createElement。。。我一直在使用document.createElement,您可以告诉文档为您做些什么,而不是像innerHtml中那样给出一个字符串,该字符串最终将成为一个标记。。。这里有一些关于它的其他事情。。。试图在
元素中设置
元素的目的是什么?元素的允许内容为文本。“允许包含最终转义字符的内容文本(如é;)”。使用a作为起点可能比使用
更好。