• 締切済み

javascriptの変数に関してです。

onclickでhtmlの文章を書き換えたいのです。 var sample1="サンプル1です" var sample2="サンプル2です" var sample3="サンプル3です" .... var sample10="サンプル10です" function kakikae('sample') { document.getElementById('kakikaeruBasyo').innerHTML=sample; } このようにして、10通りの文章をテキスト領域に書き換えて表示することができるようになったんですが、htmlでテキストの大きさなどを変更して表示したいのですが、 var sample1="<h1>サンプル1です</h1>" のように書く事はできないですよね・・・?どうしたら変数の中身にcssなどを適用できますか?・・・初心者なので、何を言ってるのか分かりにくいかと思いますが、お願いします><

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

h1タグは大きさを変更するためのタグじゃないのでそのやり方は やめた方がいいでしょう。こんな感じじゃない? <script> var sample=[ {text:"サンプル1です",fontsize:"12px"} ,{text:"サンプル2です",fontsize:"20px"} ,{text:"サンプル3です",fontsize:"30px"} ]; function kakikae(num) { var n=document.getElementById('kakikaeruBasyo'); n.innerHTML=sample[num].text; n.style.fontSize=sample[num].fontsize; } </script> <input type="button" value="1" onclick="kakikae(0)"> <input type="button" value="2" onclick="kakikae(1)"> <input type="button" value="3" onclick="kakikae(2)"> <div id="kakikaeruBasyo"></div>

関連するQ&A

  • javascriptで困っています

    スマホでタッチした場所の座標を取得しようとしているのですが、いろいろ調べて以下のように作ってみましたが、座標が取得できません。どこを直せばいいのか、教えていただきたく投稿させていただきました。よろしくお願いします。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"/> <meta name="viewport" content="width=320, user-scalable=no" /> <script type="text/javascript" charset="utf-8"> var touch_box = document.getElementById("box"); touch_box.addEventListener("touchstart", function(e){ document.getElementById("txt0").innerHTML = "スタート"; document.getElementById("txt1").innerHTML = e.pageX; document.getElementById("txt2").innerHTML = e.pageY; }, false); touch_box.addEventListener("touchmove", function(e){ document.getElementById("txt0").innerHTML = "ムーブ"; document.getElementById("txt1").innerHTML = e.pageX; document.getElementById("txt2").innerHTML = e.pageY; }, false); touch_box.addEventListener("touchend", function(e){ document.getElementById("txt0").innerHTML = "エンド"; document.getElementById("txt1").innerHTML = e.pageX; document.getElementById("txt2").innerHTML = e.pageY; }, false); </script> </head> <body> <div id="box"> <span id="txt0"></span><br /> X:<span id="txt1"></span>, Y:<span id="txt2"></span><br /> </div> </body> </html>

  • javascriptであるボタンを押すと他のボタンの表記が変わるというプログラムをつくりたいのですが。

    モと表示された1個のボタンと穴と表示された2個のボタンを用意する。モのボタンをクリックするとそのボタンの法事は穴に変わり、残り2つの穴のどれかがモに変わる。穴のボタンをクリックされても何も変わらないプログラムをつくりたいのです。 最初の状態からモをクリックして他のボタンを変化させることはなんとかできたのですが、そのあと移動したモをおしても同じことをできるようにするのができなくて困ってます。 あと、できたらモを押して2つの穴のどちらかがモにかわるとき穴からモにかわるボタンは左側のもの、とかは決まってないでランダムだとうれしいです>< おねがいします!!! 全然違うかもしれませんが、つくってみたのものっけておきます <html> <head> <title></title> <script type="text/javascript"> var moFlg = true; function func(){ if (moFlg) { document.getElementById("btn01").innerHTML = "穴"; document.getElementById("btn02").innerHTML = "モ"; document.getElementById("btn03").innerHTML = "穴"; moFlg = !moFlg; } else { document.getElementById("btn01").innerHTML = "穴"; document.getElementById("btn02").innerHTML = "穴"; document.getElementById("btn03").innerHTML = "モ"; moFlg = !moFlg; } } </script> </head> <body> <button id="btn01" type="button" " onClick="func()"> モ </button> <button id="btn02" type="button" " onClick=""> 穴 </button> <button id="btn03" type="button" " onClick=""> 穴 </button> </body> </html> ここまでです。 でもできたら<input type ~ button ~ onClick>とかがつかわれているとうれしいです。

  • if構文

    初心者でif構文がよくわからず質問させてください。 下記のようなボタンをつくり、 <form action="#"> <input type="button" value="うさぎ" id="txt" onclick="aGetElementById()" /> <input type="button" value="とり" id="txt" onclick=b"GetElementById()" /> </form> ボタンをクリックして、 <div><span id="box"></span>が大好きです。</div> のspanの中にvalue名(うさぎ・とり)を表示させ、『「value名」が大好きです。』と表示させたいのです。 Javascriptを下記のように書いてみたのですが、テキスト表示の切り替えがうまくいきません。 <script> <!-- function aGetElementById(){ var text=document.getElementById("txt"); var box=document.getElementById("box"); box.innerHTML=txt.value; } function bGetElementById(){ var text=document.getElementById("txt"); var box=document.getElementById("box"); box.innerHTML=txt.value; } --> </script> どうかおしえてください。 よろしくお願いします。

  • JavaScript Eventのタイミング

    Eventの挙動を学ぶために、簡単なスクリプトを作成しました。 テキストボックスに文字列を入れて、Submitボタンを押すと、 テキストボックスの下に(innerHTMLで)入力文字が表示され、 ボタン自体も入力文字になるというものです。 しかし、テキストに文字を入力し、Submitを押してもボタン・innerHTMLともに文字は変化しません。このままリロードをすると変化します。 挙動からして、マウスクリック自体は反応していないが、リロードによりイベントハンドラが動作しているように見受けられます。 イベントハンドラはonclickに代入しているためなぜこのようになるのか わかりません。 できるだけ、JavascriptとHTMLを分離したく外だしのファイルで 実現したいと思っています。 考え方、(比較的平易な)参考資料などありましたら教えていただけないでしょうか? HTMLで<body onload="init()">として、JavaScriptでは以下のように記述しています。 function init(){ document.getElementById("button").click = change(); } function change(){ keyword = document.getElementById("keyword").value; document.getElementById("input").innerHTML = keyword; document.getElementById("button").value = keyword; }

  • getElementByIdを使用したグローバル変数の定義(使い方について) 

    グローバル変数の定義について教えてください。 getElementByIdを、グローバル変数で使用することはできないのでしょうか? 【グローバル変数(整数)】の場合 ------------------------------------------------- //グローバルで整数を定義 var a = 10; function test(){ alert(a.value); } 結果:「10」が表示される。 ------------------------------------------------- 【グローバル変数(getElementByIdを使用)の場合】 ------------------------------------------------- //グローバルでgetElementByIdで取得したオブジェクトを定義 var a = document.getElementById("objname"); function test(){ alert(a.value); } 結果:「null」 が表示される。 ※a = document.getElementById("objname"); でも同様。 ------------------------------------------------- 【ローカル変数(getElementByIdを使用)の場合】 ------------------------------------------------- function test(){ //ローカルでgetElementByIdで取得したオブジェクトを定義 var a = document.getElementById("objname"); alert(a.value); } 結果:「画面入力値」 が表示される。 ------------------------------------------------- このように getElementByIdで取得したオブジェクトを、 グローバル変数として扱った場合、nullとなるので困っています。 getElementByIdで取得したオブジェクトを、 グローバル変数として扱う良い方法はないでしょうか? 【環境】 OS:WindowsXP Pro 使用JavaScript:外部ファイルのjavaScript

  • 変数の中にjavascript文を入れたい

    どうにも、うまく動作しないので教えてください。 バナーやブログパーツなどを切り替えて表示したくて、やってみているのですが、変数にjavascriptを使ったタグ(ブログスイッチ等)を入れると動作しません。 リンクバナー等はうまく表示できるんですが。 <DIV>を使った表示の切替方法だと、音声とか裏で動いちゃってるようなので、 innerHTMLで切り替えてみようとしたのです。 変数にjavascript文は入れられないのでしょうか。 <script type="text/javascript"> tagu = new Array(4); tagu[0]='aaa'; tagu[1]='bbb'; tagu[2]='ccc'; tagu[3]='ddd'; n=0 function taguclick() { n=n+1; if (n>3) n=0; document.getElementById('taguimgview').innerHTML = tagu[n]; }; </script> <div id='taguimgview' >aaa</div> <button onClick="taguclick()">CHANGE</button>

  • jsのfunctionの中に変数の入れ方について

    jsのfunctionの中にDiaDay定義の変数を入れたいです。 下はもともとの構文です。 function changeDiaType() { if(DiaDay == 0 && 1) { document.getElementById("todayDiaDaySpan").innerHTML = "土・休日ダイヤ"; document.getElementById("todayDiaDaySpan").style.backgroundColor = "#fcf"; DiaDay = 2; } else if(DiaDay == 0 && 2) { document.getElementById("todayDiaDaySpan").innerHTML = " 土曜ダイヤ "; document.getElementById("todayDiaDaySpan").style.backgroundColor = "#0f0"; DiaDay = 1; } else { document.getElementById("todayDiaDaySpan").innerHTML = " 平日ダイヤ "; document.getElementById("todayDiaDaySpan").style.backgroundColor = "#9ff"; DiaDay = 0; } 次のfunction changeDiaType()の()の中にDiaDayで定義した変数を入れたいのですが、どのように記述すればよいのでしょうか。 記述は省略せずに全部お書きくだされば幸いです。

  • innerHTMLに変数表示は?

    innerHTMLに変数表示は? innerHTMLに変数を入れて数値などをその都度 表示したいのですが、上手くいきません。 document.getElementById("kazu").innerHTML = suuzi=suuzi+1; など。 innerHTMLではむりならば、他の方法を知りたいです。。

  • JavaScript表示切替の問題

    ボタンを押すたびに、こんにちはとこんばんはが切り替わるようにしたいのですが、 切り替わりません。なぜかわかる方がいたら教えて頂けると助かります。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body> <div id="1">こんにちは</div> <input type="button" value="切替" onclick="func_switch()"> <script language="javascript" type="text/javascript"> function func_switch(){ if(document.getElementById(1).innerHTML="こんにちは"){ document.getElementById(1).innerHTML="こんばんは"; } else{ document.getElementById(1).innerHTML="こんばんは"; } } </script> </body> </html>

  • グローバル変数以外も変数は残り続ける?

    https://okwave.jp/qa/q9323518.html の続き var stoppingNow = false; がグローバル変数になっていないので仕様上はページ読み込み時に実行されて処理が終わった瞬間に この変数は削除されて使えなくなると聞いたのですが、 なぜかpauseBtnを押した後に、playBtnを押すと問題なく使えてしまいます。 グローバルにない変数は、stoppingNow = true;を実行してもそんな変数もうないとなるはずなのですよね? それともグローバルにない変数も残っていて、代入の処理よりも上、ないしは親のスコープにあれば使えるのが仕様なのですか? (function () { var stoppingNow = false; var pauseBtn = document.getElementById('js-pause-btn'); pauseBtn.addEventListener('click', function () { clearTimeout(it); stoppingNow = true; }); var playBtn = document.getElementById('js-play-btn'); playBtn.addEventListener('click', function () { if (stoppingNow === true) { iterative(); stoppingNow = false; } }); } myChange(); })();

専門家に質問してみよう