2015-10-27 2 views
1

творю элементы динамически с использованиемсоздавая динамический элемент в HTML Использование JavaScript

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

есть в любом случае для проверки представленной строки является эквивалентом HTML тегов.

если я предоставляю что-то вроде var eType = "idv";, он должен отправить сообщение об ошибке.

Любые обходные пути, чтобы проверить это.

ответ

1
var validTags = ['div']; 
function is_tag(tag) { 
    return validTags.indexOf(tag.trim().toLowerCase()) > -1; 
} 

Что-то вроде этого?

1
//Check there if it's an html tag: 

if (eType == "div"){ 

document.createElement(eType); 

} 
+0

Это хорошо но вам понадобится || для каждого тега. В моем ответе это просто добавление нового значения в массив. Не сказать, что ваш путь неправильный, это может быть лучше. –

0

Вы можете написать функцию, которая содержит все действительные тэгами, а затем увидеть, если [object HTMLUnknownElement]

function isValidHTMLTag(tagName, allowObsolete) { // use `-1` as second parameter to completely bypass allowObsolete check 
    var obsolete = ['acronym', 'applet', 'basefont', 'bgsound', 'big', 'blink', 'center', 'dir', 'font', 'frame', 'frameset', 'hgroup', 'isindex', 'listing', 'marquee', 'multicol', 'nextid', 'nobr', 'noembed', 'noframes', 'plaintext', 'spacer', 'strike', 'tt', 'xmp']; 
    return tagName.match(/[^a-zA-Z0-9]/) ? !1 : -1 !== allowObsolete && -1 !== obsolete.indexOf(tagName) ? allowObsolete || !1 : "[object HTMLUnknownElement]" !== Object.prototype.toString.call(document.createElement(tagName)); 
} 
Смежные вопросы