【问题标题】:Get the text from all elements with the same class从具有相同类的所有元素中获取文本
【发布时间】:2012-08-15 09:50:52
【问题描述】:

在制作一张使用this map plug in 显示商店位置的美国地图时,我已经大致确定了它,但想要一种更好的方式来执行一个功能。我在地图下方有一个商店列表,希望将所有商店分组在同一州,并在您将鼠标悬停在该州时在侧边栏中显示商店名称。我有悬停和显示数据的工作,但想要改进。我不想为每个状态编写一个函数并明确说明要显示的内容,而是想从每个具有相同类的 div 中获取第一个 p.cn

<div class="texas">
    <p class="cn">Store 1</p>
</div>

<div class="texas">
    <p class="cn">Store 2</p>
</div>

mouseoverState: {
    var texas = $('.texas > p.cn').text();
    $('#mysidebarID').html(texas);
}

这仅显示第一家商店“商店 1”,我无法让它从每个 div.texas 中获取每个 p.cn 并在每个之后显示 &lt;br&gt;

如何从具有相同类的每个元素中获取 html 并将其组合成一个字符串,每个节点由 &lt;br&gt; 分隔?

谢谢 - 如果我需要澄清任何事情,请告诉我。

【问题讨论】:

标签: jquery


【解决方案1】:

您可以使用each() 方法,尝试以下方法:

var str = "";

$('.texas > p.cn').each(function(){
  str += $(this).text() + "<br>";
})

$('#mysidebarID').html(str);

【讨论】:

  • 那是好东西。非常感谢,并吸取了教训!
  • 老哥+1 :)老名字又回来了Ramison :P
  • @Tats_innit Raminson?他是谁? :P嘿兄弟,是的,很久了:)
  • @undefined ha ha yea bruv,很长时间了,很高兴见到你! :)
  • @DirtyBirdDesign 你的意思是没有每个循环吗?您可以使用eq 方法单独选择元素,然后您可以使用+= 运算符或+ 连接字符串。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-18
  • 1970-01-01
  • 1970-01-01
  • 2015-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多