JQuery атрибуты братьев и сестер для массива - PullRequest
0 голосов
/ 05 июня 2011

Кто-нибудь знает, как я могу получить значение атрибута 'rel' от всех братьев и сестер (меток группы переключателей) в массив?

Я пробовал что-то подобное, но это, очевидно, неработа:

<label rel="option_local" class="type_radio" for="type_3">
    <input type="radio" checked="checked" value="3" id="type_3" name="type" /> 
Local</label>
<label rel="option_remote" class="type_radio" for="type_2">
    <input type="radio" value="2" id="type_2" name="type" /> 
Remote</label>
<label rel="option_html" class="type_radio" for="type_1">
    <input type="radio" value="1" id="type_1" name="type" /> 
HTML</label>


$('.type_radio').click(function() {
    var r = $(this).attr('rel');
    var arr = $(this).siblings().attr('rel');   
    $.each(arr, function(k, v) {
        $('.' + v).addClass('dn');
    });
    $('.' + r).removeClass('dn');
    return false;
});

Я пытаюсь перебрать элементы с классами, которые ссылаются на атрибут rel соответствующего триггера и удаляют из них определенный класс.Затем примените этот класс к тем, которые относятся к выбранному.

Все метки имеют класс 'type_radio'.

1 Ответ

1 голос
/ 05 июня 2011

Хорошо - мне удалось этого достичь - вот как:

$('.type_radio').click(function() {
    var r = $(this).attr('rel');
    var arr = $(this).siblings();   
    var tr;
    $.each(arr, function() {
        tr = $(this).attr('rel');
        $('.' + tr).addClass('dn');
    });
    $('.' + r).removeClass('dn');
});
...