2017-08-10 3 views
0

Ich möchte HTML-Tags in meiner Funktion wie folgt erstellen:erstellen HTML-Tags mit dynamischen Tag-Namen in jQuery

function createHtmlTag(tagName) { 
    var newHtmlTag = $(tagName); 
    return newHtmlTag; 
} 

Aber wenn ich createHtmlTag('div') in meiner Seite nennen diese Funktion zurückkehren alle meine Seite div Tags. Ich weiß $(tagName) verursacht dieses Ergebnis, aber ich muss diese Methode. Ich kann dieses Problem durch diese Methoden lösen:

function createHtmlTagSecond(tagName) { 
    var newHtmlTag = $('<' + tagName + '></' + tagName + '>'); 
    return newHtmlTag; 
} 

JavaScript Mit

function createHtmlTagByJavaScript(tagName) { 
    var newHtmlTag = document.createElement(tagName); 
    return newHtmlTag; 
} 

Meine Frage

Gibt es eine bessere Art und Weise jQuery zu verwenden, ohne das Hinzufügen von zusätzlichen Marken wie ('<')

Danke Fortschritt.

+1

Ich denke, [dieser Beitrag] (https://stackoverflow.com/questions/268490/jquery-document-createelement-equivalent) ist gehaltvoll, was Sie – ibubi

Antwort

0

Ich habe einen Weg gefunden, dass ich keine zusätzliche Markierung hinzufügen muss (kombinieren createHtmlTagByJavaScript und createHtmlTag).

function creatHtmlTag(tagName) { 
    var newHtmlTag = $(document.createElement(tagName)); 
    return newHtmlTag; 
} 
0

Sie können < oder > nicht vermeiden, wenn Sie jQuery verwenden möchten, aber Sie können es trimmen sich auf var newHtmlTag = $('<' + tagName + '>');

Darüber hinaus sind nach What is the most efficient way to create HTML elements using jQuery? würden Sie so weit die Vanille JS Ansatz besser mit als Leistung geht.

+0

Dank für die Antwort bitten. Ich habe dafür eine einfache Lösung gefunden. Ich hatte es vergessen. –

Verwandte Themen