Поменять классы между div - PullRequest
2 голосов
/ 22 декабря 2011

У меня есть 2 основных деления.Группа1 и группа2.Эти групповые div содержат еще 2 (или более) div каждыйВсе div внутри группы имеют класс .grp_item.Теперь grp_item равен display:none, и только у одного div в каждой группе есть класс .sel, равный display:block.

Как я могу поменять класс .sel между группами?Div внутри групп одинаковы.

Вот структура:

<div id="group1">
    <div class="grp_item">
        <div>
        Div First
        </div>
    </div>
    <div class="grp_item sel">
        <div>
        Div second
        </div>
    </div>
</div>

<div><button id="swap">SWAP</button></div>

<div id="group2">
    <div class="grp_item sel">
        <div>
        Div First
        </div>
    </div>
    <div class="grp_item">
        <div>
        Div Two
        </div>
    </div>
</div>

Так что для этого примера, когда нажата кнопка подкачки, установите .sel в первой группе на первуюDiv и в group2 установите .sel на Div Two.

Вот скрипка структуры: http://jsfiddle.net/d6TFh/

Обратите внимание, что я не могу добавить больше классов во внутренний div, такЯ бы подумал, что мне следует сначала установить классы для каждого, а затем удалить их.

Возможно ли это с помощью .contain() или любым другим способом?

Ответы [ 2 ]

3 голосов
/ 22 декабря 2011

Попробуйте это: http://jsfiddle.net/d6TFh/3/

$("button").on("click", function () {
    $('div[id^="group"] > div').toggleClass('sel')
});
1 голос
/ 22 декабря 2011

Исходя из вашего разговора с Айманом Сафади, я думаю, это то, что вы ищете:

var a = $('#anything .sel').attr('id')
var b = $('#something .sel').attr('id')

$('#anything .sel').removeClass('sel')
$('#anything').find('#' + b).addClass('sel');

$('#something .sel').removeClass('sel')
$('#something').find('#' + a).addClass('sel');

И jsFiddle: http://jsfiddle.net/d6TFh/10/

...