Вот мое мнение. Если кто-то неправильно меня исправит. Например, если я получаю полную строку HTML, я использую первую, потому что она будет быстрее. Например, если я получаю конфигурацию элемента из разных источников, например, вы можете сказать, что модель в MVC, из которой вы фактически создаете элемент, тогда 2-й 3-й метод удобен. Второй и третий методы почти одинаковы. Во втором методе вы просто используете цепочку, но это сделает вещи более грязными. Это очень медленнее, чем просто добавление HTML, как в первом методе. 3-й метод будет просто перебирать все свойства переданного объекта и строить его. Но если вы хотите сделать то же самое с помощью чистого JavaScript, вот код
var div = document.createElement('div');
div.innerHTML = "Your HTML Content";
div.id = "someID";
div.cssText = "Your CSS Code" // or you can use below way
var divStyle = div.style;
divStyle['background-color'] = "#CCC" // Like this
document.getElementById('parentDIV').appendChild(div);
Here является сравнение скорости между способом Jquery и нативного пути
Но опять же,
Если вы добавляете много виджетов на fly, мое предложение - создать HTML-контент на основе конфигурации и использовать innerHTML
, это очень быстро, чем appendChild каждый раз. Я проверял и наблюдал это.
Мое предложение было бы, пожалуйста, избегать jQuery всякий раз, когда это на самом деле не нужно, я согласен, что это мощная библиотека DOM когда-либо, но применяя там, где на самом деле она не нужна, ваша производительность будет уменьшена.
@Boaz Это действительно не похоже на дубликат вопроса, на который вы ссылаетесь. –