• ベストアンサー

idHOGEで取得したinnerText(数字)の値に1足して表示する

<html> <head> <title>クリックカウンタ</title> <sclipt type="text/javascript"> <!-- function count(i){ now = document.getElementById(i).innerText; now = now + 1; } //--> </script> </head> <body> <span onclick="count(kaisu)">ボタン</span>を <span id="kaisu">0</span>回おしました </body> </html> のような感じでボタン(今はテキスト)をおせば対応箇所の回数を増やしたいのですが、こういう時の方法がよくわかりません(nowのところ) どのように処理するのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

sclipt → script onclick="count(kaisu)" → onclick="count('kaisu')" ちゃんと書くと now = document.getElementById(i).innerText; now = now + 1; document.getElementById(i).innerText = now; でしょうけれど・・・↓でいけるみたい <html> <head> <title>クリックカウンタ</title> <script type="text/javascript"> <!-- function count(i){ ++document.getElementById(i).innerText; } //--> </script> </head> <body> <span onclick="count('kaisu')">ボタン</span>を <span id="kaisu">0</span>回おしました </body> </html>

idhokanohi
質問者

お礼

おおー、こんな方法があったのですね! まさにこれです。 入力ミスに気づいてなかったのは内緒ですよ? ++document.getElementById(i).innerText; ですか~、なるほど。 回答ありがとうございました~!。

その他の回答 (1)

noname#137826
noname#137826
回答No.2

こんな感じの動作をお望みですか? --- <html> <head> <title>クリックカウンタ</title> <script type="text/javascript"> var n = 0; function addCounter() { n++; document.getElementById('counter').firstChild.nodeValue = n.toString(); }; </script> </head> <body> <button onclick="addCounter()"/>ボタン</button>を<span id="counter">0</span>回押しました。 </body> </html>

idhokanohi
質問者

お礼

回答ありがとうございます。 .nodeValueと.toString() は知らなかった、また調べてみますね! こういう方法もあるのか~。 こうやって使えるものが増えていくのは楽しいですね。

idhokanohi
質問者

補足

この方法ですと、初期値が例えば4などのばあい、クリックするとまた1から始まるので少し違いました。 勉強になります。