我试图改变这些' href'属性以匹配兄弟元素的属性。
$(function() {
$(".container").click(function() {
var href = $(this).find('.one').attr('href');w
$(this).find('.two').attr('href', href);
});
})
当点击();'使用事件处理程序,然后点击.container
,.two
的href更新,但是,只要在页面加载后立即使用ready();
执行它,它就不会执行。
答案 0 :(得分:0)
如果您想将上下文保留在.container
元素中,只需将click
函数更改为each
,如下所示:
$(function() {
$(".container").each(function() {
var href = $(this).find('.one').attr('href');
$(this).find('.two').attr('href', href);
});
});
有关jQuery each
功能的更多信息,请参阅here。
<强>更新强>
此外,您可以通过缓存$(this)
的值来提高性能,如下所示:
$(function() {
$(".container").each(function() {
var $this = $(this),
href = $this.find('.one').attr('href');
$this.find('.two').attr('href', href);
});
});
更新2
如果您不关心.container
的上下文,则以下代码将更改所有具有类href
的元素的.two
属性,这些属性位于元素之后班.one
。