Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.10.2018, 14:11
Аспирант
Отправить личное сообщение для kuchuluk Посмотреть профиль Найти все сообщения от kuchuluk
 
Регистрация: 04.04.2014
Сообщений: 33

не вставляется значение из переменной с помощью 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"
Ответить с цитированием
  #2 (permalink)  
Старый 22.10.2018, 14:16
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

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>

Последний раз редактировалось Malleys, 22.10.2018 в 14:31.
Ответить с цитированием
  #3 (permalink)  
Старый 22.10.2018, 14:22
Аспирант
Отправить личное сообщение для kuchuluk Посмотреть профиль Найти все сообщения от kuchuluk
 
Регистрация: 04.04.2014
Сообщений: 33

Сообщение от Malleys Посмотреть сообщение
elem.nextSibling необязательно указывает на HTML элемент, это может быть и текстовый узел. Вместо nextSibling вам нужно nextElementSibling
Да все равно не срабатывает.
Сейчас заметил, что не хочет вставлять именно значение со слэшем.
Попробовал так:
var nextVal = "12/20";
nextEl.innerHTML = nextVal;

Все равно не вставляет. А все остальные значения без слэша вставляет. А в nextVal у меня значение в переменной именно со слэшем 12/20. Почему он со слэшем не хочет вставлять?
Ответить с цитированием
  #4 (permalink)  
Старый 22.10.2018, 14:36
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Нужен макет.
у innerHTML со слешем проблем нет, причина в другом месте.

<div id="nextEl"></div>
<script>
var nextVal = "12/20";
nextEl.innerHTML = nextVal;
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 22.10.2018, 14:38
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

<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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача значение переменной по клику Zhart Общие вопросы Javascript 4 27.10.2015 11:17
Значение переменной для задания имени InfoDusha Общие вопросы Javascript 6 29.12.2014 06:17
посылка переменной kent0026 jQuery 5 04.01.2014 17:34
Как передать значение переменной? maksbp22 Общие вопросы Javascript 0 11.10.2013 16:21
Переменная от переменной или как к имени переменной конкатенировать значение другой Aderba jQuery 5 12.11.2008 15:25