Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Доступ к селекторам (https://javascript.ru/forum/misc/28571-dostup-k-selektoram.html)

bes 24.05.2012 23:31

Доступ к селекторам
 
Существует ли в чистом javascript простой способ изменения стилей всех однотипных элементов на странице?

Например, можно ли как-то просто и без цикла установить новое значение параметра color для селектора а, чтобы все ссылки, например, стали красными.


<style>
  a {color: green}
</style>

<a href="#">link 1</a><br>
<a href="#">link 2</a><br>
<a href="#">link 3</a>


Пока на ум приходит только это, но похоже на извращение.

<style id="style">
  a {color: green}
</style>

<input id="inp" type="button" value="click"><br>
<a href="#">link 1</a><br>
<a href="#">link 2</a><br>
<a href="#">link 3</a>


<script>
inp.onclick = function () {
  style.innerHTML='a {color: red}'
}
</script>

Kolyaj 24.05.2012 23:35

<style>
  a {color: green}
  .red a {color: red;}
</style>
 
<input onclick="document.body.className = 'red';" type="button" value="click"><br>
<a href="#">link 1</a><br>
<a href="#">link 2</a><br>
<a href="#">link 3</a>

bes 24.05.2012 23:49

Kolyaj, спасибо, не встречал такой конструкции, чтобы класс был в контексте с элементом.

Deff 25.05.2012 16:12

Цитата:

Сообщение от bes (Сообщение 176460)
Существует ли в чистом javascript простой способ изменения стилей всех однотипных элементов на странице?
]

<style id="bes">* a{color:red}</style>

Затем перепарсить элемент с id=bes

bes 25.05.2012 18:55

Цитата:

Сообщение от Deff
<style id="bes">* a{color:red}</style>

Затем перепарсить элемент с id=bes

Может быть не понял, что вы имели в виду, так как я привёл подобный пример, но на мой взгляд, дурацкий способ обращаться к тегу style подобным образом, хотя бы потому, что для того, чтобы в каком-то моменте скрипта проделать подобное, нужно выделить правило в отдельный блок (или найти его в общем блоке).

Deff 25.05.2012 19:10

bes, Наверно так:
<a href="#">link 1</a><br>
<a href="#">link 2</a><br>
<a href="#">link 3</a>

<style id="bes">a{color:red}</style>
<script>
document.getElementById('bes').innerHTML="a{color:green}";
</script>

bes 25.05.2012 19:59

Deff, http://javascript.ru/forum/misc/2857...tml#post176460

Deff 25.05.2012 20:41

bes,
Цитата:

Сообщение от bes
Можно ли как-то просто и без цикла установить новое значение параметра color для селектора а, 

Я решал исходя из этого, вы можете в style - любую группу селекторов и доступ будет ко всем,

Ну на нет и суда нет

bes 25.05.2012 21:06

Цитата:

Сообщение от Deff
Ну на нет и суда нет

Я к тому, что надо смотреть и понимать, что происходит в теме.
Я в исходном посте привёл вариант решения, а вы мне его же советуете, это как по-вашему нормально??

Deff 25.05.2012 21:26

Цитата:

Сообщение от bes (Сообщение 176621)
Я к тому, что надо смотреть и понимать, что происходит в теме.
Я в исходном посте привёл вариант решения, а вы мне его же советуете, это как по-вашему нормально??

:lol: Гы - эт вчерашняя ночь без сна сказалась...

Ксать нормальное стабильное решение... смена мини стилей на сайтах Укоз и форумах mybb - "День/Ночь" - именно на такой фиче реализована, работает уже пару лет


Часовой пояс GMT +3, время: 23:41.