Скопировать -данные на другой ул - PullRequest
3 голосов
/ 08 ноября 2011

У меня есть ul с атрибутами данных. Как это:

<ul class="carousel-creations">
    <li data-teaflavour="pear">
    </li>
    <li data-teaflavour="mint">
    </li>
    <li data-teaflavour="chai">
    </li>
    <li data-teaflavour="mint">
    </li>
    <li data-teaflavour="pear">
    </li>
    <li data-teaflavour="chai">
    </li>
</ul>

Но моя проблема в том. Я хочу скопировать данные атрибутов на другие ул. Это моя вторая ул.

<ul class="controlNav">
    <li><a rel="0" title="" class=""></a><span class="hover"></span></li>
    <li><a rel="1" title="" class=""></a><span class="hover"></span></li>
    <li><a rel="2" title="" class=""></a><span class="hover"></span></li>
    <li><a rel="3" title="" class="active"></a><span class="hover"></span></li>
    <li><a rel="4" title="" class=""></a><span class="hover"></span></li>
    <li><a rel="5" title="" class=""></a><span class="hover"></span></li>
</ul>

Хочу, чтобы данные приписывались по первому ул. Скопированы в ul controlNav. Ты понимаешь мой плохой английский? (A) Я хочу скопировать атрибут данных на второй ул. Так что все предметы второго ул ли. Атрибуты данных, получающие первые ул.

Ответы [ 3 ]

3 голосов
/ 08 ноября 2011

Вы можете перебирать элементы списка с each () и использовать предоставленный аргумент index, чтобы найти соответствующий элемент в другом списке:

var $sourceItems = $("ul.carousel-creations li");
$("ul.controlNav li").each(function(index) {
    $(this).attr("data-teaflavour",
        $sourceItems.eq(index).attr("data-teaflavour"));
});
1 голос
/ 08 ноября 2011

Если вы просто хотите скопировать атрибуты данных, используйте $(target).data($(source).data()); - очевидно, вы должны заменить source и target .

1 голос
/ 08 ноября 2011

Вы можете использовать метод jquery .clone().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...