我有一个包含通常的嵌套HTML标签的JavaScript字符串。使用jQuery,我可以使用任何document.create*
函数一次性将其转换为有效的HTML元素吗?我的要求是在创建的DOM对象上使用document.getElementById
。
我有一个包含通常的嵌套HTML标签的JavaScript字符串。使用jQuery,我可以使用任何document.create*
函数一次性将其转换为有效的HTML元素吗?我的要求是在创建的DOM对象上使用document.getElementById
。
以简单的嵌套示例为例。
var dom_string = '<div>xxx<div>yyy</div></div>';
使用 jQuery 的 $() 函数创建 HTML DOM 元素,并将其附加到所需位置。我已经选择了 "body",但是您可以将其附加到任何位置。
$(dom_string).appendTo('body');
另外,您可以使用纯JavaScript来实现此操作:
var dom_target = document.getElementById("target");
dom_target.innerHTML = dom_string;
innerHTML
设置为你的 HTML 字符串。要将Html文本转换为Jquery对象,请使用$()函数:
div = '<div>hello world</div>';
$div = $(div);
但正如其他人所指出的,在大多数情况下,您并不需要这样做,因为DOM操作函数(如append()和prepend())将接受纯文本,因此
$('body').append('<div>hello world</div>');
绝对没有问题。
// 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>';