我有许多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
预先感谢
答案 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';
}