получить href одной ссылки и поместить его в href другой ссылки

Я пытаюсь получить href одной из моих ссылок и клонировать/скопировать ее в href другой ссылки.

Вот что я пытаюсь

      var link = $('.topbook');
      var link2 = $('.sidelink');
      var hrefOrig = link2.href;
      link.href = hrefOrig; 

Спасибо

Джейми

ОБНОВЛЕНИЕ

Вот что я пытаюсь получить

<a href="default.aspx?propid=BARN" class="topbook"></a>

Вышеупомянутая ссылка должна клонировать боковую ссылку с display:block

<a href="default.aspx?propid=FARM" class="sidelink" style="display:none"></a>

<a href="default.aspx?propid=BARN" class="sidelink" style="display:block"></a>

Надеюсь это поможет


person Jamie Taylor    schedule 02.09.2010    source источник
comment
Спасибо, это работает - небольшая проблема, есть ли способ получить href кнопки .topbook со свойством style = display: block? Поскольку у меня есть 10 кнопок с классом .topbook, и я хочу получить только href отображаемой кнопки. Спасибо   -  person Jamie Taylor    schedule 02.09.2010


Ответы (2)


Попробуйте использовать attr следующим образом:

 var link = $('.topbook');
 var link2 = $('.sidelink');
 var hrefOrig = link2.attr('href');
 $(link).attr('href', hrefOrig); 

Вы можете сделать его короче следующим образом:

$('.topbook').attr('href', $('.sidelink').attr('href')); 

Обновлять

Чтобы получить href видимых элементов, вы можете использовать селектор фильтра :visible следующим образом:

$('.topbook:visible').attr('href', $('.sidelink').attr('href')); 

Это применит href к тем элементам, которые имеют класс topbook и являются видимыми/отображаемыми.

person Sarfraz    schedule 02.09.2010
comment
@Jamie Taylor: Можете ли вы уточнить, чего именно вы ожидаете? - person Sarfraz; 02.09.2010
comment
@Jamie: Попробуйте это: $('.topbook').attr('href', $('.sidelink:visible').attr('href')); - person Sarfraz; 02.09.2010

Кстати, это намного быстрее, если вы используете $() с именами тегов, так как этот запрос может быть внутренне оптимизирован с помощью document.getElementByTagName()

var link = $('a.topbook');
var link2 = $('a.sidelink');
link.attr('href',link2.attr('href'));

и если вы вообще знаете, что у каждого есть только одна ссылка:

var link = $('a.topbook:first');
var link2 = $('a.sidelink:first');
link.attr('href',link2.attr('href'));
person haggi    schedule 02.09.2010
comment
Спасибо, это работает - небольшая проблема, есть ли способ получить href кнопки .topbook со свойством style = display: block? Поскольку у меня есть 10 кнопок с классом .topbook, и я хочу получить только href отображаемой кнопки. Спасибо - person Jamie Taylor; 02.09.2010