16.08.2017, 18:30
|
Профессор
|
|
Регистрация: 27.06.2016
Сообщений: 180
|
|
если пустое innerHTML
Если попробовать назначить переменную вот так:
var a = document.getElementById('id тега').innerHTML;
а содержимое тега отсутствует, то вылезает ошибка, что нельзя прочитать свойство 'null'.
Есть идеи, как назначить переменную, если innerHTML отсутствует?
|
|
16.08.2017, 18:33
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,703
|
|
var a=document.getElementById('id тега');
a=!!a.innerHTML?a.innerHTML:'';
А можно узнать какому тегу ты присваиваешь этот идентификатор?
|
|
16.08.2017, 18:40
|
Профессор
|
|
Регистрация: 27.06.2016
Сообщений: 180
|
|
Сообщение от Nexus
|
var a=document.getElementById('id тега');
a=!!a.innerHTML?a.innerHTML:'';
А можно узнать какому тегу ты присваиваешь этот идентификатор?
|
Nexus, 'id тега' это просто обозначение, его я не присваиваю.
Хочу помучить, что означает !! после равенства ? Правильно ли я понял, что если у a нету InnetHTML, то присваивается '', и что это такое?
|
|
16.08.2017, 18:55
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,059
|
|
Сообщение от atanov
|
Есть идеи, как назначить переменную, если innerHTML отсутствует?
|
отсутвует элемент а не innerHTML
|
|
16.08.2017, 18:59
|
Профессор
|
|
Регистрация: 27.06.2016
Сообщений: 180
|
|
рони, нет, как раз элемент есть, нет содержимого, в моём случае в ячейке таблицы между тегами
<td></td>
|
|
16.08.2017, 19:07
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,059
|
|
Сообщение от atanov
|
как раз элемент есть,
|
это вы так решили, а на самом деле нет этой ячейки
|
|
16.08.2017, 19:10
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,059
|
|
atanov,
возможные причины:
1. скрипт запущен ранее чем сформирован DOM.
2. ошибка в id.
|
|
16.08.2017, 19:49
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,661
|
|
Сообщение от atanov
|
то вылезает ошибка, что нельзя прочитать свойство 'null'
|
ты просто криво перевел, у null нельзя прочитать свойство innerHTML, грамматику то надо знать, транслейтеры не помогут же.
Последний раз редактировалось Rise, 16.08.2017 в 19:52.
|
|
17.08.2017, 12:17
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,703
|
|
Сообщение от atanov
|
Nexus, 'id тега' это просто обозначение, его я не присваиваю.
Хочу помучить, что означает !! после равенства ? Правильно ли я понял, что если у a нету InnetHTML, то присваивается '', и что это такое?
|
В общем-то твою проблему тебе уже объяснили.
В своем коде я в переменную «а» пытался "сохранить" элемент с указанным ID.
Во второй строке я проверяю есть ли у полученного элемента это свойство, если оно есть, то в переменную «а» записывается значение этого свойства, в противном случае записывается строка длинною в 0 символов.
Свойства «innerHTML» может не быть, если элемент не был найден , либо (не уверен, проверять лень) это input или подобный элемент.
Upd. Таки проверил, у input'ов это свойство имеется ( https://jsfiddle.net/7ygwpfsb/).
Последний раз редактировалось Nexus, 17.08.2017 в 12:27.
|
|
17.08.2017, 13:06
|
Профессор
|
|
Регистрация: 27.06.2016
Сообщений: 180
|
|
Сообщение от Nexus
|
Свойства «innerHTML» может не быть, если элемент не был найден, либо (не уверен, проверять лень) это input или подобный элемент.
Upd. Таки проверил, у input'ов это свойство имеется (https://jsfiddle.net/7ygwpfsb/).
|
Nexus,
это ячейка таблицы:
<td id = blablabla></td>
|
|
|
|