如何确定HTML-Tagname是否为Standalone

时间:2014-10-13 14:20:16

标签: javascript jquery html css

有没有办法找出HTML-tagName是成对还是单独(Standalone-Tag)? 例如。 <div></div>, <em></em>, <p></p>, ...他们是成对的,但<br/>, <input>, <area> ...是独立的。

我需要一个函数来确定输入的HTML代码片段是否正确。因此,该功能必须调查哪些HTML-Element可以使用Standalone-Tag创建。 您是否知道如何确定HTML元素是否是独立的?除了例子 像这样的东西:

var myArray = [ list of Standalone-Tags ];
if(jQuery.inArray("test", myArray) != -1 ) { ... }

感谢。

1 个答案:

答案 0 :(得分:3)

浏览器没有内置的元素列表,这些元素被定义为空。

您最可靠的选择是通过阅读HTML规范手动创建一个。

或者,您可以创建一个元素,并在将其转换为HTML时查看浏览器返回的内容。

var element = prompt("What element name? e.g. br");
var container = document.createElement('div');
var content = document.createElement(element);
container.appendChild(content);
var reg = new RegExp("/" + element);
alert(reg.test(container.innerHTML) ? "Not Empty" : "Empty");