我想在我的函数中创建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
而不添加其他标记,例如('<'
)?
谢谢你。
答案 0 :(得分:0)
如果您想使用jQuery,则无法避免<
或>
,但您可以将其修剪为var newHtmlTag = $('<' + tagName + '>');
此外,根据What is the most efficient way to create HTML elements using jQuery?,就性能而言,你最好使用vanilla JS方法。
答案 1 :(得分:0)
我发现了一种不需要添加额外标记的方法(合并createHtmlTagByJavaScript
和createHtmlTag
)。
function creatHtmlTag(tagName) {
var newHtmlTag = $(document.createElement(tagName));
return newHtmlTag;
}