2017-03-08 11 views
0

私の頭の中でこれを取り巻くいくつかの問題があります。変数を2つに分割し、各文字のまわりにhtmlの<span>タグを追加する関数を使用しようとしています。 私はこのプロセスを変数で簡単にやってきましたが、私が機能しようとすると機能しません。Javascript - 関数として数値変数を分割する

<script> 
var value = "30"; 

function myFunction(a) { 
    var a = a.split("", 2); 
    var a = "<span>" + a[0] + "</span><span>" a[1] + "</span>"; 
} 

document.getElementById("demo").innerHTML = myFunction(value);</script> 

これがなぜ起こったのかについてのヒントはありますか?

答えて

1
  • はあなたが
  • あなたはすべての文字で単語を分割したい場合は、引数として空の引用符を使用し"<span>" + a[0] + "</span><span>" a[1] + "</span>"行に1 +を逃した
  • 関数から値を返す必要が
  • あなたは新しいもの

var value = "30"; 
 

 
function myFunction(a) { 
 
    var b = a.split(''); 
 
    return "<span>" + a[0] + "</span><span>" + a[1] + "</span>"; 
 
} 
 

 
document.getElementById("demo").innerHTML = myFunction(value);
<p id='demo'></p>
を宣言するときにそれらのそれぞれを上書きし、3つの aの変数を使用していました

1

文字列が配列されているので、あなたがこれを行うことができます:

var test = "1234"; 
 

 
function wrapSpans(a) { 
 
    var tempStr = ""; 
 
    var x = 0; 
 
    while(x < a.length) { 
 
     tempStr += `<span>${a[x]}</span>`; 
 
     x++; 
 
    } 
 
    return tempStr; 
 
} 
 

 
var value = "30"; 
 

 
document.querySelector("#demo").innerHTML = wrapSpans(test);
span { 
 
    padding: 2px; 
 
    background: yellow; 
 
    margin: 2px; 
 
} 
 

 
div { 
 
    padding: 2px; 
 
    background: grey; 
 
}
<div id="demo"></div>

0
  1. あなたは
    var a = "<span>" + a[0] + "</span><span>" a[1] + "</span>";

    ラインで+オペレータが欠落しています

    それはあなたが関数から値を返す必要が

    var a = "<span>" + a[0] + "</span><span>" + a[1] + "</span>";

  2. でなければなりません。

  3. var aを何度も何度も再定義する必要はありません。

var value = "30"; 
 

 
function myFunction(a) { 
 
    var a = a.split("", 2); 
 
    a = "<span>" + a[0] + "</span><span>" + a[1] + "</span>"; 
 
    return a; 
 
} 
 

 
document.getElementById("demo").innerHTML = myFunction(value);
<div id="demo"></div>

関連する問題