1

私は JavaScript がまったく初めてで、いくつかのことを自己学習しようとしています。

document.getElementById(' ').innerHTML を使用して変数を設定しようとしていますが、機能させることができません。この変数を使用しようとすると、「未定義」が返されます。

私が見たすべての例は、これが機能するはずだと言っていますが、そうではなく、私は頭が痛いです。どんな助けでも大歓迎です。

これはコードです...

<script>
var str = document.getElementById('str').innerHTML;

function calc()
{
  if(document.getElementById('checkbox').checked)
     document.getElementById('str').innerHTML = str ;     
  else
     document.getElementById('str').innerHTML='unchecked';
}

</script>

Checkbox: <input type="checkbox" id="checkbox" name="checkbox" onclick="calc();"/>
<div>Str: <span id="str">6</span></div>

私の最終的な目的は、別の変数を使用して変数「str」に数値を追加することです。だから何か...

var str = document.getElementById('str').innerHTML;
var add = 2
function calc()
{
  if(document.getElementById('checkbox').checked)
     document.getElementById('str').innerHTML = str + add;     
  else
     document.getElementById('str').innerHTML='unchecked';
}

これにはおそらく str 変数を整数として解析する必要があることは承知していますが、そこまで到達する前につまずきました。

助けてください。

4

4 に答える 4

0

これを試してみてください。動作するバージョンで、少し最適化されています。

var str = document.getElementById('str');
var chk = document.getElementById('checkbox');
var add = 2
    function calc() {
        chk.checked ? str.innerHTML = parseInt(str.innerHTML) + add : str.innerHTML = 6;
    }
chk.onchange = function () {
    calc();
};

デモはこちら

于 2013-09-13T17:35:14.813 に答える
0

<head>タグの横にスクリプトを含めた場合、これでうまくいきます。

function calc() {

var str = document.getElementById('str').innerHTML;
//more code
于 2013-09-13T17:33:38.807 に答える