не вставляется значение из переменной с помощью 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, время: 11:11. |