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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

Q&A

1回答

912閲覧

コードの汎用性を高めたい

_gnocchi

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

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

0グッド

0クリップ

投稿2020/10/27 08:11

前提・実現したいこと

ど素人です。
入力フォームの値を受け取って、テンプレートのURLと合成し、HTML上に表示するプログラムを書いています。
より汎用性の高いコードに書き換えたいのですが、思い浮かびません。
アドバイスいただけたら幸いです。

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

ベタ打ちになっており、汎用性が低い

該当のソースコード

JavaScript

1//合成素材のURL 2const tempUrl = "http://~"; 3 4//合成URLの表示する場所の指定 5let output = document.getElementById('output') 6 7//入力された値を受け取る 8const input = document.querySelector('input').value; 9 10//クリックイベントのボタン定義 11const btn = document.querySelector('button') 12 13//URLを合成する 14function createUrl(){ 15 output.innerHTML = `<a href = ${tempUrl}hoge${input}&Index=0>Result</a>` 16} 17//合成URLをクリック時に表示する 18btn.addEventListener("click", createUrl);

試したこと

補足情報(FW/ツールのバージョンなど)

jQueryは使わない記法で表現したいです。

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

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

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

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

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

gentaro

2020/10/27 09:03

目的のわからない汎用性の向上なんて過剰設計以外の何物でもありませんが、どのような意図で汎用性を向上させようとしているんでしょうか。 ユースケースの想定ができないと何を共通化すればよいのか等、判断ができませんが。
m.ts10806

2020/10/27 09:39

>jQueryは使わない記法で表現したいです。 むしろjQuery離れも進んでるし今回のコードレベルでは大して短くなりません。「要件、用途次第」という回答にしかなりませんよ。
guest

回答1

0

「今書かれているコードの、どの機能を汎用的に使いたいか」によって汎用化のやりかたは変わるので回答できません。
1つの案としてcreateUrl()で作成するリンクのリンク先を引数で指定できるようにするということが考えられますが、それが本当に正しい汎用化なのかは、質問者さんが今後そのような汎用化が役立つ修正を行うかによります。

投稿2020/10/27 08:29

ku__ra__ge

総合スコア4524

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問