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

时间:2012-08-20 01:26:50

标签: jquery

在制作一张使用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并在每个商店后显示<br>

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

谢谢 - 让我知道我是否需要澄清任何事情。

1 个答案:

答案 0 :(得分:22)

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

var str = "";

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

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