将HTML字符串转换为DOM元素?

12 html javascript

说有一个,

var some_html = '<div class = "am_hold">' +
    '<img name="bo_im" id="' + val.id + '" class="bookmark_image" src="' + val.favicon + '">' +
    '<a target="_blank" name="bookmark_link" class="bookmark_link" href = "' +
    val.url + '" id="' + val.id + '">' + val.title + '</a>' +
    '<div><div class = "bookmark_menu"></div></div>' +
    '</div>';
Run Code Online (Sandbox Code Playgroud)

是可以做到的

var some_element = `some_function`(some_html);
Run Code Online (Sandbox Code Playgroud)

是否有some_function(1)的实现没有使用库和(2)使用库.

Nie*_*sol 42

为HTML创建一个临时容器,然后获取其内容.就像是:

var d = document.createElement('div');
d.innerHTML = some_html;
return d.firstChild;
Run Code Online (Sandbox Code Playgroud)

  • @ pure_code.com这是一个单行:`var d = document.createElement('div'); d.innerHTML = some_html; return d.firstChild;` (3认同)

Nir*_*rus 5

请尝试以下代码

    var myname = 'John Doe';

//This is using Jquery
var htmltext = '<p style="color:red">'+myname+'This is a test</p>'
$('#one').html(htmltext);


//This is pure javascript
document.getElementById('two').innerHTML='<p style="color:red">'+myname+'This is a test</p>';
Run Code Online (Sandbox Code Playgroud)

JSfiddle链接

我正在构建一个字符串,并使用html()而不是text()函数将其附加到html元素.这将被浏览器视为HTML标记,并显示UI中的变化,如小提琴中所示.