从具有相同类的所有元素中获取文本

Posted

技术标签:

【中文标题】从具有相同类的所有元素中获取文本【英文标题】: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; 分隔?

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

【问题讨论】:

***.com/questions/4735342/… 【参考方案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 方法单独选择元素,然后您可以使用+= 运算符或+ 连接字符串。

以上是关于从具有相同类的所有元素中获取文本的主要内容,如果未能解决你的问题,请参考以下文章

从具有相同类的元素集中选择随机ID [重复]

从元素的标题属性中获取文本,同时附加到它

Angular 6 在指令本身中获取所有具有相同方向名称的元素

如何从具有相同类的页面中的两个表中提取数据?

如何获取具有多个 css 类的 html 元素

具有相同类的多个 IWebElements 都指向第一个