Вход

Просмотр полной версии : .html() с заменой


Dorian_bs
21.12.2011, 01:05
Всем привет!) Столкнулся с интересной проблемой)
Дело в том, что не могу дойти до того, как осуществить следующее не используя быдло-код))

Пример:
Есть следующий код:

<div>
<div class="test" numb="Случайное число">Траляля</div>
</div>

<div>
<div class="test" numb="Случайное число">Траляля2</div>
</div>

Необходимо перенести второй блок "test" на место первого

То есть если в начале у нас было

<div>
<div class="test" numb="123">Траляля</div>
</div>

<div>
<div class="test" numb="321">Траляля2</div>
</div>

То стало

<div>
<div class="test" numb="321">Траляля2</div>
</div>

<div>
<div class="test" numb="123">Траляля</div>
</div>

Как я делаю.


$(function () {
var a = $('test').eq(1); // записываем весь объект целиком в переменную
$('test').eq(0).closest('div').html(a); // Вставляем объект "a" в .html() родителя div первого теста $('test').eq(0);
});


Но почему то данный вариант не работает. То есть не срабатывает closest('div').

Помогите! :thanks:

melky
21.12.2011, 01:13
для чего придумана замена элемента ?

var tests = $(".test");
tests.eq(0).replaceWith(tests.eq(1));

Dorian_bs
21.12.2011, 01:30
Спасибо!

FINoM
21.12.2011, 01:55
Нет такого атрибута numb. Для собственных атрибутов используйте префикс "data-", например data-numb.

trikadin
21.12.2011, 02:14
FINoM, уточнить хочу - там есть какие-нибудь фишки с этими data-атрибутами?

Почему именно data? Ведь через getAttribute нормально всё получаешь.

FINoM
21.12.2011, 02:17
там есть какие-нибудь фишки с этими data-атрибутами?В нормальных браузерах есть dataset, но я не об этом. Просто люблю валидный код. Почему именно data? Ведь через getAttribute нормально всё получаешь.Если рассуждать в таком русле, то никто не запрещает использовать свои, придуманные теги, которые тоже будут обрабатываться методами dom.

trikadin
21.12.2011, 02:47
Если рассуждать в таком русле, то никто не запрещает использовать свои, придуманные теги, которые тоже будут обрабатываться методами dom.
Я не собирался спорить. Меня интересует, почему именно data- . Только они считаются валидными?

FINoM
21.12.2011, 02:53
Только они считаются валидными?По спецификации html5 — да.

trikadin
21.12.2011, 03:15
По спецификации html5 — да.
Понятно, спасибо)

FINoM
21.12.2011, 04:59
Не за что :)