Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Повторение события (https://javascript.ru/forum/dom-window/55378-povtorenie-sobytiya.html)

Aleksanderj 25.04.2015 08:04

Повторение события
 
Здравствуйте. Есть html код:
<div class="span4">
    <a class="burger" href="www.site.ru/home.html"></a>
   <a class="history"></a>
</div>
<div class="span4">
    <a class="burger" href="www.site.ru/blog.html">
    <a class="history"></a>
</div>
<div class="span4">
    <a class="burger" href="www.site.ru/maps.html">
    <a class="history"></a>
</div>
<div class="span4">
    <a class="burger" href="www.site.ru/support.html">
    <a class="history"></a>
</div>

Есть js, который берет ссылку и вставляет ее в ссылку с другим классом
var className = $(".burger").attr("href");  
  $(".history").attr("href", (className));

Но у меня получается, что везде вставляется только первая ссылка www.site.ru/home.html , а надо чтобы в каждом блоке div вставлялась ссылка, которая находится в этом блоке. Подскажите как такое реализовать?

laimas 25.04.2015 08:30

var className = $(".burger") //получает все элементы с классом burger  
.attr("href"); //возвращает значение атрибута первого(!) элемента

Нужно получать элементы $(".burger"), и проходом в цикле получать их атрибуты.

Aleksanderj 25.04.2015 08:40

Цитата:

Сообщение от laimas (Сообщение 368149)
Нужно получать элементы $(".burger"), и проходом в цикле получать их атрибуты.

Покажите полный код, пожалуйста.

laimas 25.04.2015 09:08

Можно, но зачем это нужно? Ссылка, в которую скопировано будет, ведь не видна. Да и даже, если бы и видна, смысл каков этой операции - две одинаковых ссылки, но с разными классами?

Aleksanderj 25.04.2015 09:23

Я просто привёл простой html код, и задал вопрос, чтобы понять как копировать ссылку из каждого <div class="span4"> и вставить ее в этом же блоке в нужное мне место. Но на самом деле у меня код огромейнейший, притом что даже сама ссылка с burger обрабатывается первоначально скриптами, при себе имеет сразу несколько атрибутов, собственно из-за чего я и вытягиваю эту ссылку в другое место с новым классом, чтобы небыло этих атрибутов.

laimas 25.04.2015 09:37

$('.span4').each(function() {
    var a = $(this).find('a') //получили ссылки в переменную
    //далее
    a.last().attr('href', a.first().attr('href'))
    //или
    a.eq(1).attr('href', a.eq(0).attr('href'))
    //или
    a.eq(1)[0].href = a.eq(0)[0].href
    //или сразу без получения ссылок в переменную
    $(this).find('.history').attr('href', $(this).find('.burger').attr('href'))
    //etc...
})

laimas 25.04.2015 09:39

при себе имеет сразу несколько атрибутов, собственно из-за чего я и вытягиваю эту ссылку в другое место с новым классом, чтобы небыло этих атрибутов.

Тогда проще удалить атрибуты, оставив нужные? Да и что какие-то атрибуты мешают?

Aleksanderj 25.04.2015 09:53

Удалять атрибуты не надо в первой ссылке, они должны быть. Вам огромнейшее спасибо!!! Ура работает! Здоровья вам!:)
PS: вы ответили в прошлом моём вопросе
http://javascript.ru/forum/dom-windo...media-url.html
а выполнение задуманного помогло с вашего ответа ТУТ.


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