是否有可能这样做?
<div id="search">
<div id="elem"></div>
</div>
<div id="search2">
<div id="elem"></div>
</div>
------这就是我想要做的例子--------
$('#search').ready(function(){//i want to declare parent elem
$('#elem').html('some');//make all actions what inside that parent elem
});
$('#search2').ready(function(){//i want to declare parent elem2
$('#elem').html('some2');//make all actions what inside that parent elem
});
//or is it possible only like that:
$('#search #elem').html('some');
$('#search2 #elem').html('some2');
答案 0 :(得分:1)
让我们从基础开始:首先,你不应该有重复的id
,the id
attribute should be unique,因此你不应该有这个问题来识别你所指的目标。
其次,jQuery中没有$(element).ready()
这样的东西,当整个DOM完全加载并准备好被操作时,会触发ready()
方法。
第三,对于您的问题,您可以缩小选择器范围,以确保使用.find()
定位特定元素的子元素,如下所示:
<div id="search">
<div class="elem"></div>
</div>
<div id="search2">
<div class="elem"></div>
</div>
jQuery(document).ready(function($){
$('#search').on('click', function(){
$(this).find('.elem').html('some');
});
$('#search2').on('click', function(){
$(this).find('.elem').html('some2');
});
});