Преобразование строки HTML в объекты DOM с помощью jQuery



У меня есть HTML в строке JavaScript (содержащей обычный, вложенный HTML). Используя jQuery, могу ли я преобразовать его в допустимый HTML-элемент одним ударом, используя любую из функций document.create*? Мое требование-использовать document.getElementById на созданном объекте DOM.

629   4  

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;

Создайте фиктивный элемент и установите его innerHTML в строку HTML.

// 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

    Ничего не найдено.