append 是否仅适用于第一个找到的元素?

Does append work only for the first found element?

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

它打印文本两次。

使用类代替id,因为ID必须是唯一的

$('.parent').append('Text inside div');
<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>

ID 应该是唯一的。$('#parent') 只会 return 匹配集中的第一个元素。您需要使用常见的 class 选择器来代替:

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

JS:

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

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

记住:ID 是唯一的

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

类 不是唯一的

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

所以你需要的是:

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

它已经按照你想要的方式工作,因为你正在使用 ID,所以它会在第一次找到时自动应用 child

<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/