在DOM加载时创建自定义HTML标记

时间:2014-02-22 21:39:26

标签: javascript html internet-explorer dom domdocument

我正在创建Live Editor,并且我必须定义一个在DOM开始加载或加载时发生的函数。

因此,我必须创建自定义HTML标记并将其放在Document中,而不是Body标记中,

因此,如果用户从<head>调用它,它就会发生并开始工作是否看到DOM是否加载,并在{{1}内部或外部创建自定义TAG }}

Just for Now我写了一些在Jsfiddle中给出的东西 - <html>onloadonDomready,但我想让它在No Wrap - in <body>中起作用

那么如何实现这一任务呢?是否可以在DOM加载之前创建或添加自定义TAG?

这是我的代码 -

My Fiddle

2 个答案:

答案 0 :(得分:3)

  

“因此,我必须创建一个自定义HTML标记并将其放入   文档,但不在Body标签“

查看createDocumentFragmentcreateElement

var newfrag = document.createDocumentFragment(),
element = document.createElement("div");
element.innerHTML = "Test";
newfrag.appendChild(element);

这将创建元素,但不会将其放在html正文中。


RE:自定义属性

HTML5中的有效自定义元素(<!DOCTYPE html>)要求名称包含短划线( - )

我们需要注册并初始化它们

var newElement = document.registerElement('custom-element');
var element = document.createElement( new newElement() );

以下是几个答案。

  1. <body>
  2. 之外创建元素
  3. 如何使用自定义属性(html5)
  4. 不确定能给你带来多大帮助......希望有所帮助。


    * 更新/修复:* Ashish能够通过定位<HTML>代码而非<body>代码来获取设置代码并提供以下演示 - http://jsfiddle.net/ashish41191/3Bayt/3

答案 1 :(得分:1)

在(X)HTML中使用自定义HTML标记是非常糟糕的做法:

var _A = document.createElement('HTML_alert');

相反,您应该使用类,如下所示:

var _A = document.createElement('div');
_A.className = 'HTML_alert';

在您的CSS中,您应该使用HTML_alert而不是.HTML_alert