簡體   English   中英

將字符串轉換為字母數組,然后輸出每個SPAN

[英]Convert string to Array of letters and then output each SPAN

我正在嘗試將字符串轉換為字母數組,但只使用JavaScript(沒有jQuery)

現在我已經解決了這個問題,但我知道我錯過了更多,我知道有jQuery,但我想了解更多有關vanilla JS的信息

function myFunction() {
    var str = 'Test';
    var split = str.split("");
    document.getElementById('demo').innerHTML = '<span class="test">' + split + '</span>';
}
myFunction()

你是如此接近答案,你只需要迭代數組:

function myFunction() {
    var str = 'Test';
    var split = str.split("");
    var html = '';
    for(let i = 0; i < split.length; i++) {
        html += '<span class="test">' + split[i] + '</span>';
    }
    document.getElementById('demo').innerHTML = html;
}
myFunction()

您可以通過每個字母映射span元素然后加入結果來構造所需的html字符串:

 function myFunction() { var str = 'Test'; var split = str.split(""); document.getElementById('demo').innerHTML = split.map(letter => `<span class="test">${letter}</span>`).join(''); } myFunction() 
 <div id="demo"></div> 

嘗試這個

function myFunction() {
    var str = 'Test';
    var split = str.split('');
      split.forEach((e)=>{
   var span= document.createElement("span"); 
   var textnode = document.createTextNode(e);
   span.appendChild(textnode);document.getElementById("demo").appendChild(span); 
    })

}
myFunction()

檢查小提琴

您可以通過將字符串字符擴展到數組然后映射數組,使用innerHTML屬性將span標記中包含的每個字符"e"推送到#demo div元素, #demo

[...str].map(e => document.getElementById('demo').innerHTML += `<span class="test">${e}</span>`;

檢查並運行以下代碼片段以獲取上述實際示例:

 /* JavaScript */ function myFunction(str) { [...str].map(e => document.getElementById('demo').innerHTML += `<span class="test">${e}</span>` )} myFunction("Test"); myFunction("Hello"); 
 /* CSS */ .test {display: block; background-color: green; margin: 5px 0px;text-align:center; font-size: 20px;} 
 <!-- HTML --> <div id="demo"></div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM