Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   .html() с заменой (https://javascript.ru/forum/misc/24191-html-s-zamenojj.html)

Dorian_bs 21.12.2011 01:05

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

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

<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

Цитата:

Сообщение от trikadin
там есть какие-нибудь фишки с этими data-атрибутами?

В нормальных браузерах есть dataset, но я не об этом. Просто люблю валидный код.
Цитата:

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

Если рассуждать в таком русле, то никто не запрещает использовать свои, придуманные теги, которые тоже будут обрабатываться методами dom.

trikadin 21.12.2011 02:47

Цитата:

Сообщение от FINoM
Если рассуждать в таком русле, то никто не запрещает использовать свои, придуманные теги, которые тоже будут обрабатываться методами dom.

Я не собирался спорить. Меня интересует, почему именно data- . Только они считаются валидными?

FINoM 21.12.2011 02:53

Цитата:

Сообщение от trikadin
Только они считаются валидными?

По спецификации html5 — да.

trikadin 21.12.2011 03:15

Цитата:

Сообщение от FINoM
По спецификации html5 — да.

Понятно, спасибо)

FINoM 21.12.2011 04:59

Не за что :)


Часовой пояс GMT +3, время: 16:09.