синтаксически, может быть лучше использовать jQuery для этого, но, вероятно, более эффективно использовать
document.createElement('li')
И устраните необходимость в минимальном тесте сравнения строк и незначительном разборе токена.
flydom также может щекотать ваш интерес, если вы настаиваете на создании большого количества узлов dom. (Должно быть быстрее в теории, но не проверял)
Примечание: внутренне jQuery ("") выглядит так, как будто он делает это (упрощенно):
jQuery(matcher) --> function(matcher)
{
return jQuery.fn.init(matcher) --> function(matcher)
{
return this.setArray(
jQuery.makeArray(
jQuery.clean(matcher) --> function(matcher)
{
div = document.createElement('div');
div.innerHTML = matcher;
return div.childNodes;
}
)
);
}
}
Таким образом, можно предположить, что «document.createElement
» является, таким образом, «требованием», и если вы знаете , что вы хотите получить (то есть: не обрабатываете некоторые сторонние данные с помощью $( datahere )
), то document.createElement
Имхо было бы так же логично и с увеличением скорости, чтобы избежать многочисленных регулярных выражений и медленных манипуляций со строками.
Для сравнения: jQuery(document.createElement('div'))
похоже, что это эффективно делает это (упрощенно):
jQuery(matcher) --> function(matcher)
{
return jQuery.fn.init(matcher) --> function(matcher)
{
this[0] = matcher;
this.length = 1;
return this;
}
}