|
|
|
| на странице много тегов span, у половины класс а , у второй класс б, при клике на ссылку с id=change, надо чтоб спаны махнулись классами, подскажите как. | |
|
|
|
|
|
|
|
для: starpom
(25.10.2010 в 14:52)
| | Как-то так:
<a id="change" onclick="func()">Click me</a>
<script>
function func()
{
var obj=document.getElementsByTagName('span');
for (var i=0;i<obj.length;i++) {
if(obj[i].class=="a") obj[i].class="b";
if(obj[i].class=="b") obj[i].class="a";
}
}
</script>
|
| |
|
|
|
|
|
|
|
для: coloboc66
(25.10.2010 в 15:27)
| | только не class, а className
<a id="change" onclick="func()">Click me</a>
<script>
function func()
{
var obj=document.getElementsByTagName('span');
for (var i=0;i<obj.length;i++) {
if(obj[i].className=="a") obj[i].className="b";
if(obj[i].className=="b") obj[i].className="a";
}
}
</script>
|
| |
|
|
|
|
|
|
|
для: Lelik
(25.10.2010 в 15:34)
| | только не class, а className - вот тут меня как-раз сомнение и брало... Но ведь стили я назначаю именно по class:
<span class="a">Text</span>
Почему тогда в скрипте нужно использовать className ??? | |
|
|
|
|
|
|
|
для: coloboc66
(25.10.2010 в 16:07)
| | спецификация такая. правильно использовать className.
http://www.w3schools.com/jsref/prop_html_classname.asp | |
|
|
|
|
|
|
|
для: Lelik
(25.10.2010 в 16:35)
| | Спасибо, классы вроде меняються, но в некоторых спанах непонятно почему добавляеться
style="color: серый", такой же цвет шрифта устанавливаеться, как и бэграунд таблицы, внутри которой эти спаны и соответственно текст не виден. Откуда береться этот style. В html его и подавно нет.? | |
|
|
|
|
|
|
|
для: Lelik
(25.10.2010 в 16:35)
| | То есть и в скриптах, и в html правильно использовать className вместо class? | |
|
|
|
|
|
|
|
для: starpom
(25.10.2010 в 14:52)
| | jQuery("#change").click(function(){jQuery("span").toggleClass("a").toggleClass("b");return false}) | |
|
|
|
|
|
|
|
для: AlexSol
(25.10.2010 в 16:47)
| | Эта строка по приятней выглядит, и это уже то, что и хотелось (в смысле jQuery), но опять же все элементы меняют класс как надо, но у некорых появляеться
<span class="en" style="color: rgb(134, 141, 149);"> слон</span>
|
вот такой style, который все портит | |
|
|
|
|
|
|
|
для: starpom
(25.10.2010 в 17:35)
| | Уточню что меняються классы с en на ru, видим что слово внутри спана русское, а класс en, тоесть класс нормально поменялся, а этот стиль непонятно откуда взялся и задал слову цвет , как фон. Что за мазефака | |
|
|
|
|
|
|
|
для: AlexSol
(25.10.2010 в 16:47)
| | Вот это весь файл jQery
$(function() {
$('td').mouseover(function(){
$(this).css('background','#008000').children('span.ru').css('color', '#FFFF99');
});
$('td').mouseout(function(){
$(this).css('background','#868D95').children('span.ru').css('color', '#868D95');
})
jQuery("#change").click(function(){jQuery("span").toggleClass("ru").toggleClass("en");return false})
})
|
Получаеться , что при наведении и уходе мышки спанам задаються стили в html-разметке,
и это портит всю картину при смене классов, как этого избежать, подскажите. | |
|
|
|
|
|
|
|
для: starpom
(25.10.2010 в 18:36)
| | <style>
.f{color:#FFFF99}
</style>
$(function() {
$('td').mouseover(function(){
$(this).css('background','#008000').children('span.ru').addClass('f');
});
$('td').mouseout(function(){
$(this).css('background','#868D95').children('span.ru').removeClass('f');
})
jQuery("#change").click(function(){jQuery("span").removeClass('f').toggleClass("ru").toggleClass("en");return false})
})
|
| |
|
|
|
|
|
|
|
для: AlexSol
(25.10.2010 в 21:24)
| | Спасибо, то что надо. | |
|
|
|