• Страница 1 из 1
  • 1
Модератор форума: Admin, Cибиря4ка, Komoff, Diana  
Как правильно подобраться к эелементу?
Дата: Среда, 11.07.2012, 16:13 |
vadimreal
Сержант
Группа: Проверенные
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline


Как правильно подобраться к эелементу.??

есть
<table class="ui-datepicker-calendar">
<thead>
<tr>
<th>
<span title="понедельник">Пн</span>
</th>
...........

как мне правильно подобраться к th чтобы изменить его background ??


 
Дата: Среда, 11.07.2012, 17:21 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


vadimreal,
Quote (vadimreal, Ср, 11.07.2012, 16:13:49)
Как правильно подобраться к эелементу.??
есть
Code
<table class="ui-datepicker-calendar">   
   <thead>   
   <tr>   
   <th>   
   <span title="понедельник">Пн</span>   
   </th>

...........
как мне правильно подобраться к th чтобы изменить его background ??


А зачем вам для этого JavaScript?
Тут и стилями неплохо решается:
Code
<style type="text/css">
table.ui-datepicker-calendar th{background:#F00;}
</style>


 
Дата: Среда, 11.07.2012, 17:40 |
vadimreal
Сержант
Группа: Проверенные
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline


Мои извинения я все таки плохо задал вопрос...

[code]
<table class="ui-datepicker-calendar">
<thead>
<tr>
<th>
<span title="понедельник">Пн</span>
</th>
<th>
<span title="Вторник">Вт</span>
</th>
<th>
<span title="среда">Ср</span>
</th>
....
[code]
то есть там не один th...

Читаю щас DOM если есть хорошие статейки буду рад)


 
Дата: Среда, 11.07.2012, 18:22 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


vadimreal,
Quote (vadimreal, Ср, 11.07.2012, 17:40:06)
то есть там не один th...

А какой нужен? )))

Тогда вот так:
Code
<script type="text/javascript">
$(document).ready(function(){
$('table.ui-datepicker-calendar th').eq(0).addClass('myTh');
});
</script>

Где:
.eq(0) порядковый номер от нуля.

И стили, соответственно:
Code
<style type="text/css">
th.myTh{background:#00F;}
</style>


Или, если много и везде должны быть разные:
Code
<script type="text/javascript">
$(document).ready(function(){
$('table.ui-datepicker-calendar th').each(function(i){
$(this).addClass('myTh'+i);
});
});
</script>

Где:
.addClass('myTh'+i); - будет подставляться порядковый номер текущего элемента от нуля.

И стили:
Code
<style type="text/css">
th.myTh0{background:#F0F;}
th.myTh1{background:#0FF;}
th.myTh2{background:#00F;}
th.myTh3{background:#000;}
... и так далее ...
</style>




vadimreal,
Quote (vadimreal, Чт, 12.07.2012, 06:55:14)
Этот код не сработал..

Очень сомнительно, с учетом того что выше предоставлен скриншот со страницы где данный скрипт работает)

Прикрепления: 6683585.png (8.0 Kb)

 
Дата: Четверг, 12.07.2012, 07:22 |
vadimreal
Сержант
Группа: Проверенные
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline


Да спасибо я уже понял, щас реализовываю)

Добавлено (12.07.2012, 06:55)
---------------------------------------------
Еще раз здравствуйте...

Code

<script type="text/javascript">  
$(document).ready(function(){  
$('table.ui-datepicker-calendar th').each(function(i){  
$(this).addClass('myTh'+i);  
});  
});  
</script>


Этот код не сработал..

Сработало
Code

    $(document).click(function(){  
    $('table.ui-datepicker-calendar th').addClass('myTh1');
    });  



но понятное дело работает не так как надо..

Добавлено (12.07.2012, 07:22)
---------------------------------------------
вот такой рабочий получился ****окод

Code

    $(document).click(function(){
     var elems = document.getElementsByClassName('ui-datepicker-calendar')[0].getElementsByTagName('tr')[0].getElementsByTagName('th');
      

     for(var i=0;i<8;i++)
      {
       $(elems[i]).addClass('myTh'+i);
      }
    });  


 
Дата: Четверг, 12.07.2012, 09:20 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Quote (vadimreal, Чт, 12.07.2012, 07:22:27)
вот такой рабочий получился ****окод

Code
<script type="text/javascript">
$(document).ready(function(){
$('table.ui-datepicker-calendar th').click(function(){
$(this).addClass('myTh'+$('table.ui-datepicker-calendar th').index(this));    
});
});
</script>

http://likbezz.ru/_example/_rest/_2012/p1/background_my_th.html
)


 
Дата: Четверг, 12.07.2012, 09:46 |
vadimreal
Сержант
Группа: Проверенные
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline


Вот эта версия которую вы щас скинули почти рабочая...

у меня работает только на понедельнике.. (понял почему)

Проблема наверно в том что у меня на странице 2 абсолютно одинаковых клендарика..

И он на втором сделал
<th class="myTh7"><span title="понедельник">Пн</span></th>

соответственно на вторник был myTh8 (которого в css нет)

ну и так дальше... но дашел почему то только до myTh10 (то есть остановился на четверге.(( )

в моей функции
var elems = document.getElementsByClassName('ui-datepicker-calendar')[1].getElementsByTagName('tr')[0].getElementsByTagName('th');

где соответственно
document.getElementsByClassName('ui-datepicker-calendar')[1] -- 2-ой календарь я беру
ну а если надо было бы 1 ый то
document.getElementsByClassName('ui-datepicker-calendar')[0]

Если робить по вашему коду который вы сейчас преслали.. то как сделать его применение только ко 2-му календарику

Добавлено (12.07.2012, 09:46)
---------------------------------------------
извенения про то что написал что только до четверга... вся неделя.. это просто я накликал только до четверга!!((

 
Дата: Четверг, 12.07.2012, 09:55 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


vadimreal,
Quote (vadimreal, Чт, 12.07.2012, 09:40:21)
Если робить по вашему коду который вы сейчас преслали.. то как сделать его применение только ко 2-му календарику

Code
<script type="text/javascript">
$(document).ready(function(){
$('table.ui-datepicker-calendar:eq(1) th').click(function(){
$(this).addClass('myTh'+$('table.ui-datepicker-calendar:eq(1) th').index(this));     
});
});
</script>

Где:
.eq(0) порядковый номер от нуля.

http://likbezz.ru/_example/_rest/_2012/p1/background_my_th_2.html


 
Дата: Четверг, 12.07.2012, 09:58 |
vadimreal
Сержант
Группа: Проверенные
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline


Спасибо большое)))

еще один вопрос)
А где такому учат??))) точнее где вы научились такому??)) или это приходит с опытом?))


 
Дата: Четверг, 12.07.2012, 10:01 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


vadimreal,
Quote (vadimreal, Чт, 12.07.2012, 09:58:42)
еще один вопрос)
А где такому учат??)

Не знаю, я здесь научился - в Сети.
Quote (vadimreal, Чт, 12.07.2012, 09:58:42)
или это приходит с опытом?

Да, примерно так. Вот вы теперь знаете) ... и так далее.


 
Дата: Четверг, 12.07.2012, 10:16 |
vadimreal
Сержант
Группа: Проверенные
Сообщений: 29
Награды: 0
Репутация: 0
Статус: Offline


Лучше спросим прежде чем писать ****окод

Соответственно щас мне дальше надо развивать.. и надо сделать чтобы если подсветка есть то при нажатии она исчезала

Моя идея: написать if ом если есть у этих элементов есть такой класс то удаляем его..

надеюсь идея правильна?


 
Дата: Четверг, 12.07.2012, 12:46 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


vadimreal,
Quote (vadimreal, Чт, 12.07.2012, 10:16:17)
надеюсь идея правильна?

Ну, в принципе, да, но ... есть проще метод: toggleClass и более красивый)
Code
<script type="text/javascript">
$(document).ready(function(){
$('table.ui-datepicker-calendar:eq(1) th').click(function(){
$(this).toggleClass('myTh'+$('table.ui-datepicker-calendar:eq(1) th').index(this));
});
});
</script>


http://likbezz.ru/_example/_rest/_2012/p1/background_my_th_4.html


 
  • Страница 1 из 1
  • 1
Поиск:


Мобильная версия