【问题标题】:Get data from multiple divs with the same id - jquery [duplicate]从具有相同ID的多个div中获取数据 - jquery [重复]
【发布时间】:2018-12-27 21:42:07
【问题描述】:

我正在尝试使用 jquery 从共享相同 id 的多个 div 中获取数据,但是每次我只获得第一个 div 数据。

代码:

$(document).ready(function(){
    if($('[id="title"]').length > 0){
        console.log($('[id="title"]').html());
    }
});

<div id="title">Title one.</div>
<div id="title">Title two.</div>
<div id="title">Title three.</div>
<div id="title">Title four.</div>

我得到的结果是:标题一。

我希望获得:第一名。标题二。标题三。标题四。

任何解决方案将不胜感激。

【问题讨论】:

  • 因为网络标准要求 id 在文档中是唯一的。改用一个类,不要再试图规避预期的做法。
  • 你为什么不使用类?或者使用具有该 ID 的父 div
    标题一。
    标题二。
    看看这个stackoverflow.com/questions/9233191/…

标签: jquery html


【解决方案1】:

您不能在多个 div 上使用相同的 ID,请改用类,如 .title

这将遍历标题的数量并返回其中的每个文本。现在我正在使用 for 循环来执行此操作,存在诸如 foreach 之类的选项。

$(document).ready(function(){

  /* How the Magic Works:
  var amount = $(".title").length;

  for (i = 0; i < amount; i++) {
    console.log($(".title").eq(i).text());
  }
  */

  // Can also be simplified to this thanks to Taplar
  $(".title").each(function(){
   console.log($(this).text());
  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="title">Title one</div>
<div class="title">Title two</div>
<div class="title">Title three</div>
<div class="title">Title four</div>

【讨论】:

    猜你喜欢
    • 2018-08-02
    • 2019-04-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多