Как я могу получить доступ к элементам DOM в PUG - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть индексная страница, отрисованная с Express, и есть переменная с именем 'data', переданная express. Я хотел бы нарисовать график внутри шаблона, используя md bootstrap с объектом данных, переданным express.

Я хотел бы сделать что-то вроде этого:

canvas#lineChart

- function plot(data){
-   var context = document.getElementById("lineChart").getContext("2d");
-   var myChart = new Chart(context, data);
- }

- plot(data)

Но это показывает, что

Не удается получить свойство 'getElementById' с неопределенным значением

Что я могу с этим сделать?

1 Ответ

0 голосов
/ 08 апреля 2020

Вы не можете получить доступ к DOM в nodejs. Так как у него нет браузера ENV. Вы можете использовать puppeteer для загрузки html в браузер Chrom.

Если вы просто работаете со строкой шаблона в nodejs. Используйте модуль, как Cheerio. Для работы на DOM-подобной структуре в node js.

const cheerio = require('cheerio')
const $ = cheerio.load('<h2 class="title">Hello world</h2>')

$('h2.title').text('Hello there!')
$('h2').addClass('welcome')

$.html()
//=> <html><head></head><body><h2 class="title welcome">Hello there!</h2></body></html>
...