如何使用普通的javascript过滤/解析html模板的字符串?

时间:2018-05-31 18:36:43

标签: javascript html templates

我有一串html模板,每个模板都包含在带有id-s的脚本标签中。

示例模板字符串:

<script id="id1"> some html </script>
<script id="id2"> some other html </script>

我希望在此字符串中找到具有指定id的模板,并获取没有包装器脚本标记的html模板。 以下是这个问题的jquery方法:

var template = $(templates).filter("#id1").html();

不幸的是我需要在普通的javascript中做同样的事情,但我找不到解决这个问题的简单方法。如果没有jquery,我怎么能这样做?

3 个答案:

答案 0 :(得分:0)

使用javascript,您可以使用

通过id获取DOM节点
document.getElementById("ID_GOES_HERE")

所以,在你的情况下,我会尝试像

这样的东西
let tmplt = document.getElementById("id1").innerHTML;

let tmplt = document.getElementById("id1").innerText;

详细了解dom元素here

另外,在旁注中,最好使用then,因为它有更好的范围,但在我写的上面的代码中,let可以用var替换

答案 1 :(得分:0)

我想您可以使用正则表达式来完成此操作。 This website可以帮助您找到合适的人。

答案 2 :(得分:0)

var template = `<script id='id1' src="" /><script id='id2' src="" / >`;

var div = document.createElement('div');
div.innerHTML = template;
var filterElement = div.querySelectorAll("#id1");

console.log(filterElement[0]);