Javascript 元素中的多个随机id

Javascript 元素中的多个随机id,javascript,jquery,html,Javascript,Jquery,Html,我有许多span元素和许多id,例如: <span id="spn1" class="span-text">hello</span> <span id="spn2" class="span-text">world</span> <span id="spn3" class="span-text">12345</span> 上面的javascript代码是硬编码的,因此如果创建了100 span;我的复制功能无法工作。我如何解

我有许多
span
元素和许多
id
,例如:

<span id="spn1" class="span-text">hello</span>
<span id="spn2" class="span-text">world</span>
<span id="spn3" class="span-text">12345</span>
上面的javascript代码是硬编码的,因此如果创建了100 span;我的复制功能无法工作。我如何解决这个问题

完整代码:


提前感谢

您可以使用CSS类作为选择器,只需使用
$.map
对其进行迭代即可。那么就不再需要所有这些
id
属性:

var text=$.map($(“.span text”),函数(span){
返回$(span).text();
}).join(“\r\n”);
console.log(文本)

你好
世界

12345
您可以使用
'each'
函数使用您的类名迭代所有元素,如下所示:

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

那么你的问题到底是什么?你的“复制”功能是什么?请在这里发布,而不是在第三方网站。一般来说,使用
id
s并不是一种很好的前进方式,因为代码变得非常脆弱。一种解决方案是使用属性选择器,例如
$(“[id^='spn']”)
。。。为了完成,可能还需要添加一个简单的JavaScript答案(
let text=Array.from(document.queryselectoral('.span text'))).map((el)=>el.textContent.trim()).join('\r\n')
;)@DavidThomas,true,虽然我只想使用
Array.from的第二个参数,而不是
map
。您缺少了可能需要的
'\r\n'
。谢谢,更改了它。
var text = '';
$('.span-text').each(function ()
{
    text += $(this).text() + '\r\n';
}