简体   繁体   English

将 HTML 字符串转换为 Javascript 文档说明

[英]Convert HTML string to Javascript document instructions

Is there an convenient way to convert an HTML string to JavaScript instructions that would produce the same markup with the DOM.是否有一种方便的方法可以将 HTML 字符串转换为JavaScript 指令,从而生成与 DOM相同的标记

Something along the lines of:类似的东西:

Input输入

<div class="foo" tabindex="4">
  bar
  <button title="baz">bar</button>
</div>

Output输出

let a = document.createElement('div');
a.classList.add('foo');
a.setAttribute('tabindex', '4');
let b = document.createTextNode('bar');
a.appendChild(b);
let c = document.createElement('button');
c.setAttribute('title', 'baz');
let d = document.createTextNode('bar');
a.appendChild(d);

With a little research you can find this function:通过一些研究,您可以找到此功能:

function stringToElement(string) {
    var parser = new DOMParser();
    var content = 'text/html';
    var DOM = parser.parseFromString(string, content);

    // return element
    return DOM.body.childNodes[0];
}
stringToElement('<li>text</li>') // OUTPUT: <li>text</li>

And I think this is what you want...我认为这就是你想要的......

If what you really need/want is to convert html string to DOM element, you have DOMparser如果你真正需要/想要的是将 html 字符串转换为 DOM 元素,你有DOMparser

Sample:样本:

var phrase = "<div id='foo'><a href='#'>Link</a><span></span></div>";
var doc = new DOMParser().parseFromString(phrase, "text/xml");

You can use that with a template string to put yout html您可以将它与模板字符串一起使用来放置 html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM