\r\n
\r\n\r\n\r\n\r\n2015/5/4 追記\r\n皆様さっそくのご返信ありがとうございます。\r\nまだまだjsの勉強を始めたばかりの私にとってどれも勉強になりました。\r\n心よりお礼を申し上げます。","answerCount":4,"upvoteCount":0,"datePublished":"2015-05-04T09:10:19.702Z","dateModified":"2015-05-04T13:03:26.155Z","acceptedAnswer":{"@type":"Answer","text":"こんにちは。\r\n私だったら、次のように専用のfunctionを一つ作成すると思います。\r\nご参考になれば、幸いです。\r\n\r\n```lang-javascript\r\n function calc() {\r\n var a = get_checked_value(\"cable\");\r\n var b = get_checked_value(\"connect\");\r\n var ans = a * b;\r\n\r\n var result = document.getElementById(\"result\");\r\n result.innerHTML = \"
料金は\" + ans + \"円です。
\";\r\n\r\n }\r\n\r\n function get_checked_value(name) {\r\n\r\n var elements = document.getElementsByName(name);\r\n for (var i = 0; i < elements.length; i++) {\r\n if (elements[i].checked) {\r\n return elements[i].value;\r\n }\r\n }\r\n\r\n return 0;\r\n }\r\n\r\nコード\r\n```","dateModified":"2015-05-04T09:58:04.234Z","datePublished":"2015-05-04T09:58:04.234Z","upvoteCount":0,"url":"https://teratail.com/questions/9403#reply-13381"},"suggestedAnswer":[{"@type":"Answer","text":"もう一点、一般的なループの最適化という観点で\r\n補足させてください。\r\n\r\n元のループのコード、\r\n```lang-javascript\r\n for(i=0;i
\";\r\n}\r\n\r\nfunction checked(element) {\r\n return element.checked;\r\n}\r\n```\r\n読みやすいか読みにくいかは正直微妙な線ですね…。\r\nECMAScript 5th準拠なのでIE8以下では動きません。","dateModified":"2015-05-04T09:54:32.660Z","datePublished":"2015-05-04T09:39:43.892Z","upvoteCount":0,"url":"https://teratail.com/questions/9403#reply-13378","comment":[{"@type":"Comment","text":"[].slice.call()に、NodeListオブジェクトを渡すと、Elementの配列を返してくれるんですね。あと、配列.filter(関数) もjavascriptっぽくていいです。勉強になりました。","datePublished":"2015-05-04T10:14:10.297Z","dateModified":"2015-05-04T10:14:10.297Z"},{"@type":"Comment","text":"Array.prototype.slice.call の方が有名かもしれません。\r\n今の時代気にすることでもないですが、prototypeにアクセスするためIE7以下で使えない欠点がありますし、無駄に長いというのもあって私は [].slice.call としています。(とはいえIE7で [].slice.call が使えるかは知りません^^;)\r\n他にも Array.apply(null, NodeList) という方法もあります。","datePublished":"2015-05-04T10:20:29.616Z","dateModified":"2015-05-04T10:20:29.616Z"},{"@type":"Comment","text":"なるほど。ありがとうございます。ちょっと前、JSのprototype関連、調べたのですが、prototype(継承とか) なんとなく分かった(つもりになった)けど、実際にどういう場面で使うの?と思っていたのですが、自分は「何でもJQueryでやっちゃえ派」なもので、知らなかったのですが、こういうときに出てくるんですね。","datePublished":"2015-05-04T10:29:32.821Z","dateModified":"2015-05-04T10:29:32.821Z"},{"@type":"Comment","text":"いえ、でも効率を考えれば「何でもJQueryでやっちゃえ」は理に適っていると思います。私は元々趣味で書いているので効率度外視でDOMを直で触るコードばかりになっているだけです。\r\nTreeWalkerとかMutationObserverとかは触ってて楽しいですね。","datePublished":"2015-05-04T10:40:17.650Z","dateModified":"2015-05-04T10:40:17.650Z"},{"@type":"Comment","text":"回答ありがとうございます。ちょっと私にはまだ高度な内容でしたが、コード自体は見やすいと感じました。勉強させていただきます!","datePublished":"2015-05-04T13:18:35.220Z","dateModified":"2015-05-04T13:18:35.220Z"}]},{"@type":"Answer","text":"こんにちは。\r\nJQuery を使ってよいのでしたら、\r\n```lang-html\r\n\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
ここに値段が表示されます
\r\n\r\n \r\n\r\n