Я пытаюсь изменить атрибут "href" в соответствии с атрибутом элемента sibling.
$(function() {
$(".container").click(function() {
var href = $(this).find('.one').attr('href');w
$(this).find('.two').attr('href', href);
});
})
когда 'click();' обработчик события используется, и я нажимаю на .container
, href .two
обновлений, однако, когда просто использует ready();
для его выполнения, как только страница загружается, она не выполняется.
Если вы хотите сохранить контекст в элементе .container
, просто измените функцию click
на each
, например:
$(function() {
$(".container").each(function() {
var href = $(this).find('.one').attr('href');
$(this).find('.two').attr('href', href);
});
});
Для получения дополнительной информации о each
функции jQuery см. Здесь.
ОБНОВИТЬ
Также вы можете немного улучшить производительность, кэшируя значение $(this)
, например:
$(function() {
$(".container").each(function() {
var $this = $(this),
href = $this.find('.one').attr('href');
$this.find('.two').attr('href', href);
});
});
ОБНОВЛЕНИЕ 2
Если вам не .two
контекст .container
, вот код, который изменит атрибуты href
всех этих элементов с классом .two
, которые появляются после элемента с классом .one
.
.container
's?
.click
на.each
. Этого должно быть достаточно.