Html 无法使用document.exece命令添加自定义元素

Html 无法使用document.exece命令添加自定义元素,html,polymer,Html,Polymer,我正在尝试使用document.execCommand将自定义元素添加到可编辑的div中,详细信息请参见 但是,当我尝试使用execCommand添加自定义聚合元素时,浏览器无法识别该自定义元素,即使它已导入范围 var video-id='FnoL3d33U8o'//a youtube video Id var html = '<p><div><custom-video-element width="454" height="280" video-

我正在尝试使用
document.execCommand
将自定义元素添加到可编辑的div中,详细信息请参见

但是,当我尝试使用execCommand添加自定义聚合元素时,浏览器无法识别该自定义元素,即使它已导入范围

    var video-id='FnoL3d33U8o'//a youtube video Id
    var html = '<p><div><custom-video-element width="454" height="280" video-id="'+videoUrl+'"></custom-video-element></div></p>'; 
    document.execCommand('insertHTML', false, html);
var video id='FnoL3d33U8o'//一个youtube视频id
var html='

'; document.execCommand('insertHTML',false,html);

但这没有帮助,而且浏览器无法识别自定义视频元素。如果有其他方法,或者我正在追逐海市蜃楼,请帮助我

如果您知道需要附加什么元素,那么可以使用

如何实现这一目标有多种选择,但在您的情况下:

var p = document.createElement("p");
var div = document.createElement("div");
var custom = document.createElement("custom-video-element")
custom.setAttribute("video-id", videoUrl);
.. setting another attributes ..

div.appendChild(custom);
p.appendChild(div);
document.appendChild(p);
就这样。这应该很有效

当然,可能会有更好、更简单的解决方案,但对你来说,这并不是那么糟糕

如果在JS中创建更大的html结构,您将执行以下操作:

var div = document.createElement("div");

var inner = "<div class="test"><div></div><p class="p"></p></div>;
div.innerHTML = inner;

div.querySelector(".p").appendChild(document.createElement("custom-video-element"));
var div=document.createElement(“div”);
var internal=“

; div.innerHTML=内部; div.querySelector(“.p”).appendChild(document.createElement(“自定义视频元素”));