Олег Б.
292 сообщения
#15 лет назад
Здравствуйте.
Подскажите, как получить доступ к подэлементу с классом ".test" у элемента, если к элементу можно обращаться только через this?
Пробую так:

$(this '.test').removeClass('test1');

FireBug выдает ошибку.
Кирилл Е.
2817 сообщений
#15 лет назад
Я бы делал так:


jQuery(this).attr('id','test_id');
jQuery('#test_id .text').removeClass('test1');
Максим Ф.
3195 сообщений
#15 лет назад
Может быть даже так сработает...
jQuery(this).attr('id','test_id'.removeClass('test1';
Олег Б.
292 сообщения
#15 лет назад
Видимо меня не правильно поняли..приведенным кодом мы меняем класс у самого элемента, а мне нужно следующее:
Идет такой код:

<div class="tab">
<div class="tabcontent"></div>
</div>

Весь вопрос, как мне обратиться к элементу tabcontent через элемент tab, но не через $('.tab .tabcontent', а через $('this .tabcontent'.
Максим Ф.
3195 сообщений
#15 лет назад
Т.е. this у вас это tab?

Может быть так:
$(this & " .test".removeClass("test1";
Олег Б.
292 сообщения
#15 лет назад
AlekartRu, да. Но не помогло..
Кирилл Е.
2817 сообщений
#15 лет назад
Цитата ("Vatanaba"):
но не через $('.tab .tabcontent', а через $('this .tabcontent'.


насколько я понимаю, this ссылается на экземляр обьекта,тоесть писать this и приделывать ему что-то, не получится.

Пробуйте так:


jQuery(this).attr('class','new_class_name');


У меня все меняет
Олег Б.
292 сообщения
#15 лет назад
Kirilev, таким методом мы меняем у элемента this class на new_class_name. По крайней мере у меня так происходит. А мне же нужно сменить класс у вложенного div`а класс.
Кирилл Е.
2817 сообщений
#15 лет назад

jQuery(this).attr('jertva_otec','yes');
jQuery(' .tabcontent').attr('class','new_fucking_name');


так?
Олег Б.
292 сообщения
#15 лет назад
Kirilev, да, спасибо. помогло.
Тут М.
626 сообщений
#15 лет назад
Возможно так:
$(this).find('.test').removeClass('test1');
Роман В.
99 сообщений
#15 лет назад
Если правильно понял, то

Для

<div class="tab1">
<div class="tabcontent"></div>
</div>

<div class="tab2">
<div class="tabcontent"></div>
</div>

<div class="tabN">
<div class="tabcontent"></div>
</div>



$('.tab1').children(".tabcontent").css('...');
$('.tab2').children(".tabcontent").css('...');
$('.tabN').children(".tabcontent").css('...');
Тут М.
626 сообщений
#15 лет назад
Да, так для данного случая рациональней.
.children просматривает только потомков первого уровня, а .find - всех потомков.