2016-04-25 2 views
-2

Предположим, у меня есть следующий html: div id="my_div"><span>no no</span></div>. Я хочу изменить текст нет нет с да да. Я не могу сделать это следующим образом:Почему я не могу использовать свойство innerHTML для переменных?

document.getElementById("my_div").getElementsByTagName('span')[0].innerHTML = "yes yes" 

Но если я хочу использовать вещи, как переменные, как следующее:

var x = document.getElementById("my_div").getElementsByTagName('span')[0].innerHTML;  
    x = "yes yes"; 

Теперь текст нет нет не не изменяется. Зачем?

+0

Вы проверили консоль браузера на наличие ошибок? – NewToJS

+0

@NewToJS Да, я проверил в консоли браузера. Это не дает ошибок. – user31782

+0

Почему вы можете полностью изменить свой вопрос? Вы знаете, что другие могут просто нажать «отредактировать» под своим сообщением, чтобы просмотреть исходный вопрос ... Это делает ответ 'gurvinder372' неправильным, когда почта' gurvinder372' отвечает на ваш исходный вопрос. Я задал этот вопрос. – NewToJS

ответ

5

Чтобы изменить значение, вам нужно назначить новое значение объекту, в то время как вы назначаете новое значение самой ссылке.

Попробуйте

var x = document.getElementById("my_div").getElementsByTagName('span')[0];  
x.innerHTML = "yes yes"; 
+0

Не 'x' объект? – user31782

+0

Это ссылка на который (первый) вы зададите эталонное значение объекта, который затем заменяется новым значением. – gurvinder372

+0

Не '=' действует как оператор присваивания в javascript? – user31782

Смежные вопросы