Получите строковое представление узла DOM

Я думаю, что данный jdk1.5 (или больше) и Ваша конкатенация ориентировано на многопотоковое исполнение, необходимо использовать StringBuilder вместо StringBuffer http://java4ever.blogspot.com/2007/03/string-vs-stringbuffer-vs-stringbuilder.html Что касается усилений в скорости: http://www.about280.com/stringtest.html

Лично, который я кодировал бы для удобочитаемости, поэтому если Вы не находите, что конкатенация строк делает Ваш код значительно медленнее, останьтесь с тем, какой бы ни метод делает Ваш код более читаемым.

88
задан El Developer 21 April 2014 в 20:50
поделиться

2 ответа

Вы можете создать временный родительский узел и получить его внутреннее HTML-содержимое:

var el = document.createElement("p");
el.appendChild(document.createTextNode("Test"));

var tmp = document.createElement("div");
tmp.appendChild(el);
console.log(tmp.innerHTML); // <p>Test</p>

РЕДАКТИРОВАТЬ: См. Ответ ниже о externalHTML. el.outerHTML должен быть всем, что нужно.

119
ответ дан 24 November 2019 в 07:29
поделиться

Under FF you can use the XMLSerializer object to serialize XML into a string. IE gives you an xml property of a node. So you can do the following:

function xml2string(node) {
   if (typeof(XMLSerializer) !== 'undefined') {
      var serializer = new XMLSerializer();
      return serializer.serializeToString(node);
   } else if (node.xml) {
      return node.xml;
   }
}
15
ответ дан 24 November 2019 в 07:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: