Преобразование строки HTML в объекты DOM с помощью jQuery
У меня есть HTML в строке JavaScript (содержащей обычный, вложенный HTML). Используя jQuery, могу ли я преобразовать его в допустимый HTML-элемент одним ударом, используя любую из функций document.create*? Мое требование-использовать document.getElementById на созданном объекте DOM.
4 ответов:
Возьмем простой вложенный пример.
var dom_string = '<div>xxx<div>yyy</div></div>';Создайте элементы HTML DOM с помощью функции $() jquery и добавьте их туда, куда вы хотите. я взял "тело", но вы можете добавить его куда угодно.
$(dom_string).appendTo('body');В качестве альтернативы вы можете реализовать это с помощью чистого javascript:
var dom_target = document.getElementById("target"); dom_target.innerHTML = dom_string;
// Construct a container as a placeholder for your content var container = document.createElement('div'); container.id = 'container'; // Inject the container into the DOM document.body.appendChild(container); // Populate the injected container with your content container.innerHtml = '<p id="pTag">I am a <em>P</em> tag with some <strong>nested markup</strong>.</p>';
Для преобразования Html-текста в jQuery-объект используйте функцию $ ():
div = '<div>hello world</div>'; $div = $(div);Но, как уже отмечали другие, в большинстве случаев вам это не нужно, потому что функции манипуляции DOM, такие как append () и prepend (), будут принимать обычный текст, поэтому
$('body').append('<div>hello world</div>');Абсолютно нормально.
Comments