|
|
|
| Привет!!!
У меня такой вопрос:
группа ссылок имеют class="t1" со свойством visibility=hidden.
можно-ли изменить это свойство, ну и любое другое, для всего класса сразу или надо менять для каждой ссылки в отдельности | |
|
|
|
|
|
|
|
для: And200
(20.05.2009 в 11:31)
| |
<script type="text/javascript">
for(var i = 0, ls = document.links, l = ls.length; i < l; i++) {
if(ls[i].className != "t1") continue;
// Ваш код
}
</script>
|
| |
|
|
|
|
|
|
|
для: And200
(20.05.2009 в 11:31)
| | Можно и СРАЗУ сделать изменение для всего класса.
Только надо ТОЧНО ЗНАТЬ - где именно этот класс (и интересующее нас свойство в этом классе) прописаны:
<head>
<meta http-equiv="content-type" content="text/html; charset=win-1251">
<link rel="stylesheet" href="styles.css">
<style>
body {background-color: #efefef}
a {
visibility: visible;
text-decoration: underline;
color: blue;
}
div {height: 20px}
span {font-weight: bold; color: green}
span {}
a.t1 {visibility: hidden; text-decoration: none; color: red}
.t2 {visibility: visible}
.t2 {text-decoration: overline; color: lime}
/* Блоков стилей всего 2 (внешний и ЭТОТ) */
/* Нас интересует ЭТОТ блок с индексом 1 */
/* Правил в ЭТОМ блоке всего 8 штук (включая ПУСТОЕ для span) */
/* Нас интересует правило с индексом 5 для класса t1 */
</style>
<script>
function mF ()
{
var SS = document.styleSheets [1],
CR = SS.rules || SS.cssRules;
CR [5].style.visibility = 'visible';
}
</script>
</head>
<body>
<a href="#">Обычная ссылка</a><p>
<a href="#" class="t1">Ссылка класса t1 (скрытая)</a><p>
<a href="#" class="t2">Ссылка класса t2</a><p>
<a href="#">Обычная ссылка</a><p>
<a href="#" class="t1">Ссылка класса t1 (скрытая)</a><p>
<a href="#" class="t2">Ссылка класса t2</a><p>
<hr>
<input type="button" value="Изменить правило CSS для класса t1" onclick="mF ()">
</body>
</html>
| Но, можно, конечно, точно и не знать - тогда придётся парсить ВСЕ правила CSS,
находить там номер правила, где одновременно встречаются ".t1" и "visibility" и менять его.
Теоретически есть и ещё один вариант - учитывая, что в CSS исполняется ПОСЛЕДНИЙ приказ,
отменяющий все предыдущие, можно ДОБАВИТЬ новое правило.
Но этот способ (в MSIE - метод addRule, и в Mozilla - метод insertRule) почему-то у меня
регулярно глючит. | |
|
|
|
|
|
|
|
для: PAT
(20.05.2009 в 13:11)
| | М-да!!!!То-есть просто к классу не обратиться, как к объекту...... .Думаю, что в тогда проще назвать все ссылки одинаковым именем и сделать цикл, типа:
<script>
function change()
{
for(i==0;i<=tr.length;i++)
{
tr[i].style.visibility="visible";
}
}
</script>
| Как Ваше мнение? TR - одинаковые имена, конечно, а класс Т1 | |
|
|
|
|
|
|
|
для: and200
(21.05.2009 в 00:16)
| | >М-да!!!!То-есть просто к классу не обратиться, как к объекту... Думаю, что тогда проще назвать все ссылки одинаковым именем и сделать цикл...
Вы всё же определитесь - "чего именно вам хочется?"
Сначала вы спрашивали - можно ли изменить "для всего класса сразу или надо менять для каждой ссылки в отдельности?"
Я вам ответил, что МОЖНО СРАЗУ и ДЛЯ ВСЕГО КЛАССА и показал - как именно, "обращаясь к одному единственному ПРАВИЛУ, как к объекту".
Теперь, оказывается, вам надо не просто СРАЗУ, а именно "обращаясь к КЛАССУ, как к объекту"...
Что-то из серии: хочу БЫСТРО и ЧЕСТНО заработать миллион, а не медленно (откладывая
по рублю в день).
БЫСТРО и ЧЕСТНО заработать миллион, оказывается, можно... но не ТАК, как мечталось,
потому буду копить МЕДЛЕННО - по рублю в день. Ведь так оно ПРОЩЕ :-))
Детский сад какой-то, честное слово. | |
|
|
|
|
|
|
|
для: PAT
(21.05.2009 в 00:23)
| | Мне хочется , чтобы в определенный момент времени, при заданных условиях появлялись необходимые мне ссылки, число которых может быть разным. | |
|
|
|