Как отфильтровать / проанализировать строку HTML-шаблонов с простым JavaScript? - PullRequest
0 голосов
/ 31 мая 2018

У меня есть строка HTML-шаблонов, каждый из которых заключен в тег сценария с идентификаторами.

Пример строки шаблонов:

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

Я хочу найти шаблон в этой строке с указанным идентификатором и получить шаблон HTML без тега сценария оболочки.Вот jquery подход к этой проблеме, который работает:

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

К сожалению, мне нужно сделать то же самое в простом javascript, но я не могу найти простое решение этой проблемы.Как я могу сделать это без JQuery?

Ответы [ 3 ]

0 голосов
/ 31 мая 2018

Полагаю, вы можете сделать это с помощью регулярных выражений. Этот сайт может помочь вам найти правильный.

0 голосов
/ 31 мая 2018

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]);
0 голосов
/ 31 мая 2018

С помощью javascript вы можете получить узел DOM по идентификатору, используя

document.getElementById("ID_GOES_HERE")

Так что, в вашем случае, я бы попробовал что-то вроде

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

или

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

Подробнее об элементах dom здесь .

Кроме того, отметим, что лучше использовать, чем var, чем var, поскольку он имеет лучшую область видимости, но в приведенном выше кодеЯ написал, пусть может быть заменено на var

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...