質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

3回答

869閲覧

ボタン表示のさせ方を教えてください

rannan

総合スコア1

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2020/08/19 01:38

前提・実現したいこと

デバッグテキストを表示するするためのボタンを作りたいです。
まずはボタンを作ろうとしたのですが文字をクリックできません。
エラーも出ていないのでどこを直せば動くのか分からなくなってしまいました。
どなたかお助けいただけますでしょうか…。

発生している問題・エラーメッセージ

エラーは出ていませんが思った通りに表示されていません。

該当のソースコード

HTML,CSS,Javascript、vscode

1<template> 2<div id="text-button"><p id="text">クリック</p> 3</div> 4</template> 5 6<script> 7export default 8 9 document.getElementById("text-button").onclick = function() { 10 document.getElementById("text").innerHTML = "クリック後テキスト"; 11}; 12 13</script>> 14 15<style> 16#text-button { 17 display: block; 18 cursor: pointer; 19 width: 160px; 20 text-align: center; 21 border: 1px solid #232323; 22} 23</style>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ex025

2020/08/19 01:44 編集

buttonタグを利用しない理由はあるのですか?
rannan

2020/08/19 01:46

それが…わからないです。すみません。 ローカルのサイトに表示させようとするとこのページだけ真っ白になってしまいます。ほかのテキストは表示できたのでリンクもうまくいっているはずです。
maisumakun

2020/08/19 01:53

何かしらのJavaScriptのライブラリを使う前提でしょうか、それとも単にHTMLにそのまま書くような感じでしょうか?
ex025

2020/08/19 01:57

bodyタグに直接書くことはできないのですか。
guest

回答3

0

ベストアンサー

<template>タグを使っているからです。
<template>の中身は描画されません。

<template>が必要なければ、以下のような感じにしましょう。

HTML

1<button id="text-button" type="button">クリック</button> 2 3<script> 4 document.getElementById("text-button").addEventListener("click", function(evt) { 5 evt.target.innerHTML = "クリック後テキスト"; 6 }); 7</script> 8 9<style> 10#text-button { 11 display: block; 12 cursor: pointer; 13 width: 160px; 14 text-align: center; 15 border: 1px solid #232323; 16} 17</style> 18

投稿2020/08/19 01:56

root_jp

総合スコア4666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rannan

2020/08/19 02:11

なるほど、そうだったんですね。ありがとうございます!
guest

0

HTML

1<body> 2 <div id="text-button"><p id="text">クリック</p></div> 3 <script> 4 document.getElementById("text-button").addEventListener('click', function(){ 5 document.getElementById("text").innerHTML = "クリック後テキスト"; 6 }); 7 </script> 8 <style> 9 #text-button { 10 display: block; 11 cursor: pointer; 12 width: 160px; 13 text-align: center; 14 border: 1px solid #232323; 15 } 16 </style> 17</body>

質問文にあったコードをできるだけそのまま残しました。
root_jpさんのコードも良いと思います。

投稿2020/08/19 01:59

ex025

総合スコア179

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rannan

2020/08/19 02:12

ありがとうございます!
guest

0

template要素は、初期段階では描画はされません

<template>: コンテンツテンプレート要素 - HTML: HyperText Markup Language | MDN

改めて、JavaScriptで、他DOMに入れ直す必要があります。
(というか、最初は描画させたくなく、JSで動的に挿入したい時に使う要素)

投稿2020/08/19 02:00

miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問