元素中的多个随机ID

时间:2018-10-21 18:09:29

标签: javascript jquery html

我有许多span元素,其中有许多ids

<span id="spn1" class="span-text">hello</span>
<span id="spn2" class="span-text">world</span>
<span id="spn3" class="span-text">12345</span>

可能是1或100个span元素。如果创建了100个跨度,则ID为spn100。没问题。现在我遇到了JavaScript代码问题,因为当这些跨度出现时,我对ID进行了硬编码:

var text = $("#spn1").text() + "\r\n" + $("#spn2").text() + "\r\n" + $("#spn3").text();

上面的javascript代码是经过硬编码的,因此,如果创建了100个span;我的复制功能无法正常工作。我该如何解决这个问题?

完整代码:Differences between requires_new and nested propagation in Spring transactions

预先感谢

2 个答案:

答案 0 :(得分:4)

您可以将CSS类用作选择器,并仅使用$.map对其进行迭代。这样就不再需要所有这些id属性:

var text = $.map($(".span-text"), function(span) {
    return $(span).text();
}).join("\r\n");

console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="span-text">hello</span>
<span class="span-text">world</span>
<span class="span-text">12345</span>

答案 1 :(得分:3)

您可以使用'each'函数使用类名遍历所有元素:

var text = '';
$('.span-text').each(function ()
{
    text += $(this).text() + '\r\n';
}