追加仅适用于第一个找到的元素吗?

时间:2015-03-11 11:11:28

标签: jquery html append

append仅适用于找到的第一个element吗?

<div id='parent'> <strong> </strong> </div>
<div id='parent'> <strong> </strong> </div> 

$('#parent').append('Text inside div');

当我运行html时,我只能看到Text inside div打印一次。

PS: 这有效:

$('#parent>strong').append('Text inside div');

它打印文本两次。

5 个答案:

答案 0 :(得分:2)

使用类而不是ID,因为ID 必须是唯一的

&#13;
&#13;
$('.parent').append('Text inside div');
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='parent'> <strong> </strong> </div>
<div class='parent'> <strong> </strong> </div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

ID应该是唯一的。$('#parent')只返回匹配集中的第一个元素。您需要使用公共类选择器:

 <div class='parent'> <strong> </strong> </div>
 <div class='parent'> <strong> </strong> </div> 

<强> JS:

 $('.parent').append('Text inside div');

答案 2 :(得分:0)

当您为多个html元素脚本使用相同的Id时,会选择它在流程中遇到的第一个。

答案 3 :(得分:0)

请记住:ID是唯一的

  • 每个元素只能有一个ID
  • 每个页面只能包含一个具有该ID的元素

课程不是唯一的

  • 您可以在多个元素上使用相同的类。
  • 您可以在同一元素上使用多个类。

所以你需要的是:

<div class='parent'> <strong> </strong> </div>
<div class='parent'> <strong> </strong> </div> 

而不是:

<div id='parent'> <strong> </strong> </div>
<div id='parent'> <strong> </strong> </div> 

你的Jquery就像:

$('.parent').append('Text inside div');

答案 4 :(得分:0)

它已经正常工作,因为您正在使用ID,因此它将自动应用于首次找到的孩子

<div id='parent'> <strong> sadsadsadsa</strong> </div>
<div id='parent'> <strong>sdsadsadadasd </strong> </div> 
$('#parent').append('Text inside div');

演示: http://jsfiddle.net/ishandemon/duhLnq0s/3/