Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.10.2018, 11:41
Интересующийся
Отправить личное сообщение для Ppezrk Посмотреть профиль Найти все сообщения от Ppezrk
 
Регистрация: 26.10.2018
Сообщений: 12

Не изменяется innerHTML
// data - раскодированый JSON
// data[0] - 'html>body'
// data[1] - 'innerHTML'
// data[2] - 'Hello World!'
var node_value = document.querySelector(data[0])[data[1]]; //переменная почему-то становится строкой а не обьектом :(
if(node_value !== undefined) {
      node_value = data[2];
 }
else {
      alert('Bad response. Please, reload the page.');
 }
Ответить с цитированием
  #2 (permalink)  
Старый 30.10.2018, 11:46
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,740

Попробуйте так:
var node=document.querySelector(data[0]);
if(!node)
    alert('Not found');
else
    node[data[1]]=data[2];
Ответить с цитированием
  #3 (permalink)  
Старый 30.10.2018, 12:25
Интересующийся
Отправить личное сообщение для Ppezrk Посмотреть профиль Найти все сообщения от Ppezrk
 
Регистрация: 26.10.2018
Сообщений: 12

Спасибо. Заработало!
Ответить с цитированием
  #4 (permalink)  
Старый 30.10.2018, 12:36
Интересующийся
Отправить личное сообщение для Ppezrk Посмотреть профиль Найти все сообщения от Ppezrk
 
Регистрация: 26.10.2018
Сообщений: 12

И еще одно. querySelector возвращает елемент по css селектору. А как сделать обратное действие? Т.е. вернуть селектор елемента.
Ответить с цитированием
  #5 (permalink)  
Старый 30.10.2018, 16:02
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Ppezrk,
У элемента нет какого-то определенного селектора. По каким признакам его искать - определяется в конкретных случаях.
У элемента же есть название тега, есть (может быть) идентификатор id, список классов classList и другие атрибуты и свойства, набор из которых можно задавать для поиска в querySelector, и которые можно посмотреть для уже найденного тем или иным образом элемента.
<html>
  <body>
  </body>
<script>
var data = ['html>body','innerHTML','Hello World!'];
var node=document.querySelector(data[0]);
if(!node)
    alert('Not found');
else {
    node[data[1]]=data[2];
    alert(node.nodeName);
}
</script>
</html>

Последний раз редактировалось Dilettante_Pro, 30.10.2018 в 16:13.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
контент из XMLHttpRequest response с помощью innerHTML не работает m4ybe Events/DOM/Window 9 24.01.2018 14:35
innerHTML не отображает swf плеер web-master Общие вопросы Javascript 3 23.02.2014 18:34
innerHTML....? Hapson Элементы интерфейса 4 24.07.2013 01:33
innerHTML and z-index ViZ0R Общие вопросы Javascript 5 12.08.2009 10:28
ошибка с innerHTML Gekt0r Общие вопросы Javascript 15 21.08.2008 11:57