\r\n \r\n \r\n \r\n \r\n \r\n\t\t\t\r\n```\r\n\r\n```javascript\r\n//↓リストの追加オレンジ\r\nfunction bar() {\r\n // a 要素の作成と属性の指定\r\n var newAnchor = document.createElement(\"a\");\r\n var newTxt = document.createTextNode( document.getElementById(\"favtext\").value );\r\n newAnchor.appendChild( newTxt );\r\n newAnchor.setAttribute(\"target\", \"_blanc\" );\r\n \r\n // li 要素の作成\r\n var newLi = document.createElement(\"li\");\r\n newLi.appendChild ( newAnchor );\r\n \r\n // リストに追加\r\n var list = document.getElementById(\"FavList\");\r\n list.appendChild( newLi ); \r\n}\r\n\r\n//↓オレンジボタン表示非表示\r\n//初期表示は非表示\r\nfunction clickBtn1(){\r\n\tconst favtext = document.getElementById(\"favtext\");\r\n\tconst addurl = document.getElementById(\"addurl\");\r\n\tconst choicecolor = document.getElementById(\"choicecolor\");\r\n\r\n\tif(favtext.style.display==\"block\"){\r\n\t\t// noneで非表示\r\n\t\tfavtext.style.display =\"none\";\r\n\t}else{\r\n\t\t// blockで表示\r\n\t\tfavtext.style.display =\"block\";\r\n\t}\r\n\r\n\tif(addurl.style.display==\"block\"){\r\n\t\t// noneで非表示\r\n\t\taddurl.style.display =\"none\";\r\n\t}else{\r\n\t\t// blockで表示\r\n\t\taddurl.style.display =\"block\";\r\n\t}\r\n\r\n\tif(choicecolor.style.display==\"block\"){\r\n\t\t// noneで非表示\r\n\t\tchoicecolor.style.display =\"none\";\r\n\t}else{\r\n\t\t// blockで表示\r\n\t\tchoicecolor.style.display =\"block\";\r\n\t}\r\n}\r\n\r\n\r\n//↓親要素表示非表示\r\nfunction clickBtn2(){\r\n\tconst school = document.getElementById(\"school\");\r\n\r\n\tif(school.style.display==\"block\"){\r\n\t\t// noneで非表示\r\n\t\tschool.style.display =\"none\";\r\n\t}else{\r\n\t\t// blockで表示\r\n\t\tschool.style.display =\"block\";\r\n\t}\r\n}\r\n\r\n\r\n//色適応\r\nvar choicecolor = document.getElementById('choicecolor');\r\nchoicecolor.onchange = function () {\r\n document.getElementById('FavList').style.backgroundColor = this.value;\r\n console.log('choicecolor:'+this.value);\r\n}\r\n\r\n```","answerCount":3,"upvoteCount":0,"datePublished":"2019-12-06T05:33:48.979Z","dateModified":"2019-12-06T06:11:19.066Z","acceptedAnswer":{"@type":"Answer","text":"HTMLの構造の問題は気になりますが今回の問題に直接影響していないっぽいので、指摘は他の方に任せつつ…。\r\n\r\n単純に「色を選択しOKボタンを押すとリストの丸に色」について回答します。\r\n\r\n先頭のリストマーク(●)は、一部ブラウザを除いてフォントの色と連動しますので、処理としては追加した `
  • ` に対して `style.color` で choicecolorに格納された色を渡してあげる事で適用されます。\r\n\r\n適用する場所は\r\n```JavaScript\r\n// li 要素の作成\r\nvar newLi = document.createElement(\"li\");\r\nnewLi.appendChild ( newAnchor );\r\n```\r\nの一番下に\r\n`newLi.style.color = document.getElementById('choicecolor').value;`\r\n※[追加したliのフォント色に(=)choicecolorに格納された色コードを指定] の意味\r\n\r\nの処理を追記することで解決します。\r\n\r\n質問者さんがJavaScriptの一番下で試行している `//色適応` 以下の5行の処理は、一旦消してから確認したほうが色の変化が見やすいと思います。","dateModified":"2019-12-06T07:00:15.584Z","datePublished":"2019-12-06T07:00:15.584Z","upvoteCount":1,"url":"https://teratail.com/questions/227732#reply-332821"},"suggestedAnswer":[{"@type":"Answer","text":"やりたいことが今一つつかめていませんが……\r\n\r\n```html\r\n\r\n\r\n```\r\n\r\n```js\r\n\r\n//↓リストの追加オレンジ\r\nfunction bar() {\r\n const li = document.createElement('li');\r\n li.innerHTML = `${\r\n document.getElementById('favtext').value\r\n }`;\r\n\r\n document.getElementById('FavList').appendChild(li);\r\n}\r\n\r\n//↓オレンジボタン表示非表示\r\n//初期表示は非表示\r\nfunction clickBtn1(toShow){\r\n document.getElementById('addSchool').style.display = toShow? 'block' : 'none';\r\n}\r\n\r\n\r\n//↓親要素表示非表示\r\nfunction clickBtn2(toShow){\r\n document.getElementById('schoolListContainer').style.display = toShow? 'block' : 'none';\r\n}\r\n\r\n\r\n//色適応\r\nfunction onColorChange(newColor) {\r\n document.getElementById('FavList').style.backgroundColor = newColor;\r\n console.log('choicecolor:', newColor);\r\n}\r\n```","dateModified":"2019-12-06T06:49:52.493Z","datePublished":"2019-12-06T06:49:52.493Z","upvoteCount":1,"url":"https://teratail.com/questions/227732#reply-332817","comment":[]},{"@type":"Answer","text":"ulの中に直接divやulをおいていますがNGです\r\nもしやるなら学校の後ろの「
  • 」を「」の直前に移動するとか?\r\n(どういう構造にしたいのかわからないですが・・・)","dateModified":"2019-12-06T05:45:18.437Z","datePublished":"2019-12-06T05:45:18.437Z","upvoteCount":3,"url":"https://teratail.com/questions/227732#reply-332801","comment":[]}],"breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https://teratail.com","name":"トップ"}},{"@type":"ListItem","position":2,"item":{"@id":"https://teratail.com/tags/JavaScript","name":"JavaScriptに関する質問"}},{"@type":"ListItem","position":3,"item":{"@id":"https://teratail.com/questions/227732","name":"htmlのリスト作成、色反映とjavascriptでの動きについて"}}]}}}
    質問するログイン新規登録

    Q&A

    解決済

    3回答

    2331閲覧

    htmlのリスト作成、色反映とjavascriptでの動きについて

    asahinon

    総合スコア6

    JavaScript

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

    HTML

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

    0グッド

    0クリップ

    投稿2019/12/06 05:33

    編集2019/12/06 06:11

    0

    0

    HTML,javascriptを使ってリストの作成をしています。
    こちらが作成しているものの図です

    動きとしては、
    ・+を押すとテキスト、カラー、OKボタンの表示・非表示
    ・OKボタンでテキストボックスで入力した内容がリストとして追加される
    ・学校を押すと追加されたリスト含め全てが表示・非表示

    やりたいこと
    カラーを選択し、OKを押した際に追加されるリストの丸○に選択した色がつくようにしたい。

    html

    1<ul> 2 <li onclick="clickBtn2()">学校</li> 3 <div id="school"><ul id="FavList"> 4 <script type="text/javascript" src="list.js"></script> 5 <input type="text" id="favtext" style="display:none;"> 6 <input type="color" id="choicecolor" style="display:none;"> 7 <input type="button" id="addurl" value="OK" onclick="bar();" style="display:none;"> 8 <input type="image" src="orangebutton.png" alt="追加1" onclick="clickBtn1()"> 9 </ul></div> 10</ul>

    javascript

    1//↓リストの追加オレンジ 2function bar() { 3 // a 要素の作成と属性の指定 4 var newAnchor = document.createElement("a"); 5 var newTxt = document.createTextNode( document.getElementById("favtext").value ); 6 newAnchor.appendChild( newTxt ); 7 newAnchor.setAttribute("target", "_blanc" ); 8 9 // li 要素の作成 10 var newLi = document.createElement("li"); 11 newLi.appendChild ( newAnchor ); 12 13 // リストに追加 14 var list = document.getElementById("FavList"); 15 list.appendChild( newLi ); 16} 17 18//↓オレンジボタン表示非表示 19//初期表示は非表示 20function clickBtn1(){ 21 const favtext = document.getElementById("favtext"); 22 const addurl = document.getElementById("addurl"); 23 const choicecolor = document.getElementById("choicecolor"); 24 25 if(favtext.style.display=="block"){ 26 // noneで非表示 27 favtext.style.display ="none"; 28 }else{ 29 // blockで表示 30 favtext.style.display ="block"; 31 } 32 33 if(addurl.style.display=="block"){ 34 // noneで非表示 35 addurl.style.display ="none"; 36 }else{ 37 // blockで表示 38 addurl.style.display ="block"; 39 } 40 41 if(choicecolor.style.display=="block"){ 42 // noneで非表示 43 choicecolor.style.display ="none"; 44 }else{ 45 // blockで表示 46 choicecolor.style.display ="block"; 47 } 48} 49 50 51//↓親要素表示非表示 52function clickBtn2(){ 53 const school = document.getElementById("school"); 54 55 if(school.style.display=="block"){ 56 // noneで非表示 57 school.style.display ="none"; 58 }else{ 59 // blockで表示 60 school.style.display ="block"; 61 } 62} 63 64 65//色適応 66var choicecolor = document.getElementById('choicecolor'); 67choicecolor.onchange = function () { 68 document.getElementById('FavList').style.backgroundColor = this.value; 69 console.log('choicecolor:'+this.value); 70} 71

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

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

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

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

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

    thyda.eiqau

    2019/12/06 05:38

    使い古されたコピペですが、JavaとJavaScriptはインドとインドネシアくらい違います
    miyabi_takatsuk

    2019/12/06 05:39

    タイトルがjavaになってます。 javaとjavascriptは全く違うプログラミング言語なので、質問の修正をお願いします。 質問は編集できます。 また、タイトルには、質問要件を入れるようにしましょう。 今のままでは、何がわからないのかまったくわからず、見てもらえる可能性が低くなりますので。
    kei344

    2019/12/06 05:41

    (質問文は編集できます)質問するときのヒント( https://teratail.com/help/question-tips )を読んで、質問を改善しましょう。
    guest

    回答3

    0

    ulの中に直接divやulをおいていますがNGです
    もしやるなら学校の後ろの「</li>」を「</ul>」の直前に移動するとか?
    (どういう構造にしたいのかわからないですが・・・)

    投稿2019/12/06 05:45

    yambejp

    総合スコア118164

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

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

    0

    ベストアンサー

    HTMLの構造の問題は気になりますが今回の問題に直接影響していないっぽいので、指摘は他の方に任せつつ…。

    単純に「色を選択しOKボタンを押すとリストの丸に色」について回答します。

    先頭のリストマーク(●)は、一部ブラウザを除いてフォントの色と連動しますので、処理としては追加した <li> に対して style.color で choicecolorに格納された色を渡してあげる事で適用されます。

    適用する場所は

    JavaScript

    1// li 要素の作成 2var newLi = document.createElement("li"); 3newLi.appendChild ( newAnchor );

    の一番下に
    newLi.style.color = document.getElementById('choicecolor').value;
    ※[追加したliのフォント色に(=)choicecolorに格納された色コードを指定] の意味

    の処理を追記することで解決します。

    質問者さんがJavaScriptの一番下で試行している //色適応 以下の5行の処理は、一旦消してから確認したほうが色の変化が見やすいと思います。

    投稿2019/12/06 07:00

    iss

    総合スコア506

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

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

    asahinon

    2019/12/06 07:14

    無事実行できました。ありがとうございました!!
    iss

    2019/12/06 07:22

    解決できて良かったです! yambejpさんが指摘したのHTML構造の話も、HTMLで処理を組んでいくうえで大切な問題なので参考にしてくださいね。
    guest

    0

    やりたいことが今一つつかめていませんが……

    html

    1<script type="text/javascript" src="list.js"></script> 2<ul> 3 <li> 4 <label>学校<input type="checkbox" onchange="clickBtn2(this.checked)" style="display: none;" checked></label> 5 <div id="schoolListContainer"> 6 <label> 7 <img src="./orangebutton.png"> 8 <input type="checkbox" id="isOpenAddSchoolForm" style="display: none;" onchange="clickBtn1(this.checked)"> 9 </label> 10 <form id="addSchool" onsubmit="bar(); return false;" style="display: none;"> 11 <input type="text" id="favtext"> 12 <input type="color" id="choicecolor" onchange="onColorChange(this.value)"> 13 <input type="submit" id="addurl" value="OK"> 14 </form> 15 <ul id="FavList"></ul> 16 </div> 17 </li> 18</ul>

    js

    1 2//↓リストの追加オレンジ 3function bar() { 4 const li = document.createElement('li'); 5 li.innerHTML = `<a target="_blank">${ 6 document.getElementById('favtext').value 7 }</a>`; 8 9 document.getElementById('FavList').appendChild(li); 10} 11 12//↓オレンジボタン表示非表示 13//初期表示は非表示 14function clickBtn1(toShow){ 15 document.getElementById('addSchool').style.display = toShow? 'block' : 'none'; 16} 17 18 19//↓親要素表示非表示 20function clickBtn2(toShow){ 21 document.getElementById('schoolListContainer').style.display = toShow? 'block' : 'none'; 22} 23 24 25//色適応 26function onColorChange(newColor) { 27 document.getElementById('FavList').style.backgroundColor = newColor; 28 console.log('choicecolor:', newColor); 29}

    投稿2019/12/06 06:49

    thyda.eiqau

    総合スコア2982

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

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

    あなたの回答

    tips

    太字

    斜体

    打ち消し線

    見出し

    引用テキストの挿入

    コードの挿入

    リンクの挿入

    リストの挿入

    番号リストの挿入

    表の挿入

    水平線の挿入

    プレビュー

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

    ただいまの回答率
    85.29%

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

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

    質問する

    関連した質問