在jQuery中使用动态标记名创建html标记

时间:2017-08-10 05:33:02

标签: javascript jquery html

我想在我的函数中创建html标签,如下所示:

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

但是当我在页面中调用createHtmlTag('div')时,此函数会返回我的所有页面div标记。我知道$(tagName)导致了这个结果,但我需要这个方法。我可以通过以下方法解决这个问题:

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

使用JavaScript

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

我的问题

有没有更好的方法来使用jQuery而不添加其他标记,例如('<')?

谢谢你。

2 个答案:

答案 0 :(得分:0)

如果您想使用jQuery,则无法避免<>,但您可以将其修剪为var newHtmlTag = $('<' + tagName + '>');

此外,根据What is the most efficient way to create HTML elements using jQuery?,就性能而言,你最好使用vanilla JS方法。

答案 1 :(得分:0)

我发现了一种不需要添加额外标记的方法(合并createHtmlTagByJavaScriptcreateHtmlTag)。

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