getElementsByClassName(className) возвращает ноль
Что делать, если мне нужно вставить какое-либо значение в элемент страницы новой вкладки в расширении Chrome?
Я использую:
document.getElementsByClassName("quotes").innerHTML = Quotes[x];
в newtab-script.js
страница, но она показывает эту ошибку в консоли:
Uncaught TypeError: Cannot set property 'innerHTML' of null
Моя страница содержит div
с классом по имени quotes
но когда я предупреждаю это:
document.getElementsByClassName("quotes")
Результат null
,
Мой код в форме:
window.onload = function abc (){
alert(document.getElementById('a'));
document.getElementById('a').innerHTML ="ishaan";
}
Я импортирую файл сценария на html-страницу, которая переопределяет новую вкладку Google Chrome. Мой сценарий находится в файле сценария.
2 ответа
Если есть несколько предметов с одинаковым именем класса
var quoteElems=document.getElementsByClassName('quotes')
for(var i=0;i<quoteElems.length;i++){
quoteElems[i].innerHTML=Quotes[x]
}
Если есть один элемент, имеющий класс "кавычки"
document.getElementsByClassName("quotes")[0].innerHTML = Quotes[x];
Если вы используете jquery, то сделайте
$(function(){
$('.quotes').html(Quotes[x]);
});