ReferenceError: getElementsByClassName не определен

Привет, я продолжаю получать сообщение об ошибке, когда пытаюсь запустить этот код, говоря:

«getElementsByClassName» не определен.

function doGet() {
  var html = UrlFetchApp.fetch('http://en.wikipedia.org/wiki/Document_Object_Model').getContentText();
  var doc = XmlService.parse(html);
  var html = doc.getRootElement();
  var menu = getElementsByClassName(html, 'vertical-navbox nowraplinks')[0];
  var output = XmlService.getRawFormat().format(menu);
  return HtmlService.createHtmlOutput(output);
}  

Есть идеи, почему?


person user12546548    schedule 16.12.2019    source источник
comment
Отвечает ли это на ваш вопрос? Проанализировать значения из элемента HTML с помощью Google App Script?   -  person Casper    schedule 16.12.2019
comment
comment
разве это не doc.getElementsByClassName()?   -  person zetawars    schedule 16.12.2019


Ответы (2)


Заменять

var menu = getElementsByClassName(html, 'vertical-navbox nowraplinks')[0];

С

var menu = doc.getElementsByClassName('vertical-navbox nowraplinks')[0];
person Andrea    schedule 16.12.2019
comment
Спасибо за быстрый ответ! Я очень новичок в кодировании в целом, поэтому все еще нахожусь в поиске, я ценю помощь. Теперь я получаю это сообщение об ошибке: TypeError: Не удается найти функцию getElementsByClassName в объекте [Документ: [DocType: ‹!DOCTYPE html›], Корень — [Элемент: ‹html/›]]. (строка 22, код файла) - person user12546548; 16.12.2019
comment
Здравствуйте, @user12546548! Вы пытаетесь вызвать getElementsByClassName() для элемента< /а> объект. Однако такого метода не существует. Навигация по узлам, проанализированным с помощью XmlService, отличается от навигации по ним с помощью ДОМ. Я предлагаю вам пересмотреть методы в классе element. чтобы лучше понять, как достичь своих целей. - person carlesgg97; 16.12.2019
comment
@user12546548 user12546548, вероятно, вы получаете эту ошибку, потому что работаете с объектом, поэтому вам следует попытаться работать с элементами дома. В этом случае, используя document.getElementsByClassName('vertical-navbox nowraplinks')[0]; - person Andrea; 16.12.2019

Добавьте определения функций getElementById, getElementsByClassName и getElementsByTagName с https://sites.google.com/site/scriptsexamples/learn-by-example/parsing-html в скрипт

person vstepaniuk    schedule 28.05.2020