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';
}