Verify whether a string is a valid HTML tag name

后端 未结 3 945
小蘑菇
小蘑菇 2021-01-21 21:22

How can I find out if a string is a valid HTML tag?

For example: a, or h1, div, or span, ... are a valid HTML tagname. But ar, or abc, or div2, ... are invaild.

3条回答
  •  孤城傲影
    2021-01-21 22:04

    HTML5 introduced the HTMLUnknownElement interface which must be used for elements that are not defined by the standard HTML specifications.

    When using document.createElement, if the element is not a valid tag by specification, it will be an object of type HTMLUnknownElement. Since using .toString will return [object type], you can create the element and test for that type:

    function isValid(input) {
      return document.createElement(input).toString() != "[object HTMLUnknownElement]";
    }
    
    console.log( isValid("tr") );
    console.log( isValid("a") );
    console.log( isValid("trs") );
    console.log( isValid("strong") );
    console.log( isValid("strongg") );

    However, this many not work in older browsers.

提交回复
热议问题