- ベストアンサー
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のところ) どのように処理するのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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>
その他の回答 (1)
こんな感じの動作をお望みですか? --- <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>
お礼
回答ありがとうございます。 .nodeValueと.toString() は知らなかった、また調べてみますね! こういう方法もあるのか~。 こうやって使えるものが増えていくのは楽しいですね。
補足
この方法ですと、初期値が例えば4などのばあい、クリックするとまた1から始まるので少し違いました。 勉強になります。
お礼
おおー、こんな方法があったのですね! まさにこれです。 入力ミスに気づいてなかったのは内緒ですよ? ++document.getElementById(i).innerText; ですか~、なるほど。 回答ありがとうございました~!。