Есть ли простая команда Javascript, предназначенная для другого объекта? - PullRequest
4 голосов
/ 29 июня 2011

У меня есть страница с двумя элементами div, один внутри другого, вот так:

<div id='one'> 
<div id='two'></div>
</div>

Я хочу, чтобы div one менял класс при нажатии на него, а затем возвращался обратно, когда выбран div два.

Я совершенно новичок в javascript, но мне удалось найти простую команду, которая делает div одно изменение, когда я нажимаю на него.

<div id='one' class='a' onclick="this.className='b';">
<div id='two'></div>
</div>

Теперь мне просто нужно одинаковопростой способ изменить div one обратно при нажатии на номер два.

Я пытался изменить "this.className" на "one.classname", и по какой-то причине это работало, когда я работал с изображениями, ноэто не работает вообще с divs

<div id='one' class='a' onclick="this.className='b';">
<div id='two' onclick="one.className='a';">
This does not work.
</div>
</div>

По сути, мне интересно, есть ли замена для javascript "this", который я могу использовать для нацеливания на другие элементы.

IЯ нашел несколько сценариев, которые будут выполнять искомое действие, но я не хочу использовать огромный, длинный и сложный сценарий, если есть еще один простой, похожий на первый, который я нашел.

Ответы [ 3 ]

4 голосов
/ 29 июня 2011

Вы можете использовать document.getElementById

<div id='two' onclick="document.getElementById('one').className='a'; return false;"> 
 This does not work. 
</div>
3 голосов
/ 29 июня 2011

Это будет работать:

document.getElementById('one').className = 'a';
0 голосов
/ 29 июня 2011

вы можете получить элемент по id с помощью:

document.getElementById("one")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...