• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:innerHTMLでHTML要素の中身を変えたい)

URLでid指定して「色の違い」と「特徴の違い」を表現する方法

このQ&Aのポイント
  • innerHTMLを使用してHTML要素の中身を変える方法について説明します。
  • URLのidによって「色の違い」と「特徴の違い」を表示する方法について紹介します。
  • 特定のidに基づいて「色の違い」と「特徴の違い」を追加するためのJavaScriptコードを示します。

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

  • ベストアンサー
  • Proof4
  • ベストアンサー率78% (151/192)
回答No.1

期待された動作が把握できていない(特徴の違いを表わすパラメータは何か?)ため、idの一の位が特徴、十の位が色を表わすものとしてスクリプトを書けばこのような感じになります。 色や特徴を表わす文字列はconst strsetsとしてまとめて定義しています。 <script type="text/javascript">  const strsets = [   ["白い", "赤い", "青い", "黒い"],   ["おしゃれな", "かっこいい", "新しい", "古い"]  ];  var arg = new Object, p = location.search.substring(1).split('&');  for(var i=0; p[i]; i++){   var kv = p[i].split('=');   arg[kv[0]] = kv[1];  }  function area(id){   area_str = "";   num_places = arg.id.split(""); /* idの数字を位毎に分ける */   for(var i=1; i>=0; i--){    tmp = strsets[i][parseInt(num_places[i])]    area_str += tmp ? tmp : strsets[i][0]; /* strsetsに該当する要素がないときは0番目代入 */   }   document.getElementById(id).innerHTML = area_str;  }  window.onload = function (){   var i;   for (i=1;i<=3;i++) { /* type1~type3まで設定 */    area("type"+i);   }  } </script> ※OKWAVEの仕様上、インデントを全角スペースを用いて表現しています。コピペの際はご注意ください。

関連するQ&A