не вставляется значение из переменной с помощью innerHTML
Здравствуйте. Нужно вставить в следующую ячейку таблицы значение, записанное в переменную nextVal, но оно не вставляется
$(elem).text(exist.innerHTML); var nextEl = elem.nextSibling; var nextVal = exist.nextSibling.innerHTML; nextEl.innerHTML = nextVal; А если вместо nextVal запишу просто текст, то вставляется: nextEl.innerHTML = 'dsfvsds'; Почему так? Почему из переменной значение не вставляется? Значение nextVal равно "12/20" |
elem.nextSibling необязательно указывает на HTML элемент, это может быть и текстовый узел. Вместо nextSibling вам нужно nextElementSibling
upd $(elem).text(exist.innerHTML); var nextEl = elem.nextElementSibling; var nextVal = exist.nextElementSibling.innerHTML; nextEl.innerHTML = nextVal; upd2 может нужно использовать безопасное textContent <table> <tr> <td id="elem"></td> <td></td> </tr> </table> <table> <tr> <td id="exist">1/2</td> <td>10/20</td> </tr> </table> <script> elem.textContent = exist.textContent; var nextEl = elem.nextElementSibling; var nextVal = exist.nextElementSibling.textContent; nextEl.textContent = nextVal; </script> |
Цитата:
Сейчас заметил, что не хочет вставлять именно значение со слэшем. Попробовал так: var nextVal = "12/20"; nextEl.innerHTML = nextVal; Все равно не вставляет. А все остальные значения без слэша вставляет. А в nextVal у меня значение в переменной именно со слэшем 12/20. Почему он со слэшем не хочет вставлять? |
Нужен макет.
у innerHTML со слешем проблем нет, причина в другом месте. <div id="nextEl"></div> <script> var nextVal = "12/20"; nextEl.innerHTML = nextVal; </script> |
<div id="exist"><p>Exist</p></div> <p>12/20</p> <div id="elem"></div> <div></div> <script> elem.innerText = exist.innerHTML; var nextEl = elem.nextElementSibling; var nextVal = exist.nextElementSibling.innerHTML; nextEl.innerHTML = nextVal; </script> |
Часовой пояс GMT +3, время: 09:21. |