0

是否可以这样做?

<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');
4

1 回答 1

1

让我们从基础开始:首先,您不应该有重复id的 s,属性id应该是唯一的,因此您不应该遇到识别您所指的目标的问题。

其次,在 jQuery 中没有这样的东西,当整个 DOM 完全加载并准备好被操作时$(element).ready(),该方法被触发。ready()

第三,至于您的问题,您可以缩小选择器的范围,以确保您使用 来定位特定元素的子元素.find(),如下所示:

HTML

<div id="search">
    <div class="elem"></div>
</div>

<div id="search2">
    <div class="elem"></div>
</div>

JS

 jQuery(document).ready(function($){
     $('#search').on('click', function(){
          $(this).find('.elem').html('some');
     });

     $('#search2').on('click', function(){
          $(this).find('.elem').html('some2');
     });
 });
于 2013-07-11T14:59:59.233 回答