我有一个数字,我想在每个数字上加一个跨度。我必须用javascript来做这件事

我有一个数字,我想在每个数字上加一个跨度。我必须用javascript来做这件事,javascript,Javascript,在html代码中,我放置了一个带有数字的元素。我希望该数字中的每个数字都在一个span元素中(我必须为每个数字设置不同的样式)。 我把链接和我写的代码放在一起,我需要你们的帮助。我的情况是,我将所有数字放在不同的中,但我不知道如何连接 示例:我有号码2172,在期末考试中应该是2172 对不起,如果我对我的问题不太准确的话 这就是我想做的 提前感谢您的帮助 像这样的 <!DOCTYPE html> <html lang="en"> <he

在html代码中,我放置了一个带有数字的
元素。我希望该数字中的每个数字都在一个span元素中(我必须为每个数字设置不同的样式)。
我把链接和我写的代码放在一起,我需要你们的帮助。我的情况是,我将所有数字放在不同的
中,但我不知道如何连接

示例:我有号码2172,在期末考试中应该是
2172

对不起,如果我对我的问题不太准确的话

这就是我想做的

提前感谢您的帮助

像这样的

    <!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
    <p id="input">24122</p>
    <div id="output">
    
    </div>
</body>
</html>

文件

24122

JS:


let number=document.querySelector(“输入”);
让numberrarr=number.innerHTML.toString().split(“”);
让stringNr=“”;
for(设nr=0;nr
我认为实现这一点的最简单方法是将数字转换为字符串,然后映射到每个字符上。我添加了一些代码来说明如何实现这一点

只要将容器替换为您想要放置跨距的任何位置,我就在其中添加了一个显示块css行,以显示它们是跨距,但您可以删除它以内联数字

const container=document.querySelector(“.container”)
设num=2172
const numArray=num.toString().split(“”)
numaray.map(n=>{
让el=document.createElement('span')表示
el.innerText=n
返回容器。追加(el)
})
span{
显示:块;
}
试试这个


let number=document.querySelector(“#number”);
//您可以直接传递字符串,而不是从DOM读取
const numberArray=Array.from(number.innerHTML)
console.log(numberraray)
for(让项目编号为RAY){
设spanNr=document.createElement(“span”);
spanNr.innerHTML=numberArray[项目];
编号。追加子项(spanNr)
}

文件

24122


在您的示例中,您使用document.querySelector(“number”)获取元素,但我没有看到任何id等于“number”的元素,我使用querySelector by p标记对其进行了更改

要获得结果,您可以使用:


let number=document.querySelector(“p”).textContent;
让stringNr=[…number].reduce((结果,数字)=>result+=`${digit}`,“”);
控制台日志(stringNr)

24122

能否向我们展示您迄今为止的尝试,并提供一个最小的、可复制的示例,而不是链接?(把你的实际代码和你在帖子中遇到的任何错误都写进去)让number=document.querySelector(“#number”);让numberrarr=number.innerHTML.toString().split(“”);让stringNr=“”;这是我写的。我遇到的问题是,我不知道如何在最后的
number.innerHTML=number.textContent.replace(/\d/g,“$&”)
请注意,
.split(“”)
不会根据用户感知的字符进行分割。见:
let number = document.querySelector("#input");
let numberArr = number.innerHTML.toString().split("");
let stringNr = "";

for(let nr = 0; nr < numberArr.length; nr ++) {
  let spanNr = document.createElement("span");
  spanNr.innerHTML = numberArr[nr];
   document.querySelector("#output").appendChild(spanNr)
}