使用jQuery将HTML字符串转换为DOM对象

时间:2011-12-25 19:46:52

标签: javascript jquery dom

我在JavaScript字符串中包含HTML(包含通常的嵌套HTML)。使用jQuery,我可以使用任何document.create *函数将其转换为单个笔划中的有效HTML元素吗?我的要求是在创建的DOM对象上使用document.getElementById

4 个答案:

答案 0 :(得分:19)

采用简单的嵌套示例。

var dom_string = '<div>xxx<div>yyy</div></div>';

使用jquery的$()函数创建HTML DOM元素,并在任何地方追加。 我已经采取了“身体”但你可以在任何地方追加。

$(dom_string).appendTo('body');

或者您可以使用纯javascript实现此功能:

var dom_target = document.getElementById("target");
dom_target.innerHTML = dom_string;

答案 1 :(得分:4)

创建一个虚拟元素并将其innerHTML设置为HTML字符串。

答案 2 :(得分:3)

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

答案 3 :(得分:0)

要将Html文本转换为Jquery-Object,请使用$()函数:

div = '<div>hello world</div>';
$div = $(div);

但正如其他人在大多数情况下所指出的那样,你不需要它,因为像append()和prepend()这样的DOM操作函数会接受纯文本,所以

$('body').append('<div>hello world</div>');

绝对没问题。