2016-03-13 3 views
0

Я пытаюсь изменить внутренний текст дочернего элемента родителя, у которого есть динамический идентификатор (ему присваивается идентификационный номер из полученных данных). Я думал, что следующий будет работать:дочерний элемент innerText от родителя с id

var childElement = document.querySelectorAll('#' + serverResponse[0].id + ' .childElementClass'); 
childElement.innerText = "changed"; 

Когда я пытаюсь это, он не дает мне сообщение об ошибке, это ничего не меняет, и я думаю, что может быть неправильно понять, что .querySelectorAll делает точно. Как я должен это делать? Благодаря!

ответ

0

document.querySelectorAll Фактически возвращает NodeList. Если вы знаете, что будет только один элемент, используйте document.querySelector, который возвращает первый фактический элемент, соответствующий запросу.

var childElement = document.querySelector('#' + serverResponse[0].id + ' .childElementClass'); 
childElement.innerText = "changed"; 
+0

Так что, когда я делаю это, я получаю «не может установить свойство InnerText в нуле. Дело в том, что я знаю, что там. Я также попытался„p.childElementClass“, и это дало мне тот же самый ответ. Если я ставлю некоторые имя класса, которого я знаю, не существует, оно не показывает ошибки, но ничего не показывает –

+0

Я сделал быстрый jsbin и, похоже, работает. http://jsbin.com/kiqutiwuwu/edit? html, js, output Может быть, отредактируйте его, чтобы он соответствовал тому, что у вас есть, и я могу взглянуть. – janka102