我在JavaScript字符串中包含HTML(包含通常的嵌套HTML)。使用jQuery,我可以使用任何document.create
*函数将其转换为单个笔划中的有效HTML元素吗?我的要求是在创建的DOM对象上使用document.getElementById
。
答案 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>');
绝对没问题。