Не изменяется 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.'); } |
Попробуйте так:
var node=document.querySelector(data[0]); if(!node) alert('Not found'); else node[data[1]]=data[2]; |
Спасибо. Заработало!
|
И еще одно. querySelector возвращает елемент по css селектору. А как сделать обратное действие? Т.е. вернуть селектор елемента.
|
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> |
Часовой пояс GMT +3, время: 19:44. |