🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

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

Q&A

解決済

2回答

1563閲覧

スゲーかっこ悪いコードを、かっこよくしたい

tefu-tefu

総合スコア29

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

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

2グッド

3クリップ

投稿2019/10/22 12:50

下記のHTMLとCSSを前提にして、「.one」から「200px」を取得するコードを作ってみました。

コードの意図としては、$('要素').style('width');だと、「HTMLのwidth」じゃなくて、「実際のwidth」が取得されるから、「HTMLのwidth」をなんとか取得してやろう、という感じです。

でもコードがスゲーかっこ悪いんです。

スゲーかっこいい人がいたら、教えてくれませんでしょうか?

###前提のHTMLとCSS
この「.one」から「200px」を取得したいのに、$('要素').style('width');だと取得できないんです。

html

1<div class="flex"> 2 <div class="one" style="min-width:100px; width:200px;"> 3 <div class="a">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div> 4 </div> 5 <div class="two" style="min-width:500px;"> 6 <div class="a">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div> 7 </div> 8</div>

css

1.flex { 2 display: flex; 3 justify-content: space-between; 4 align-items: start; 5 width: 500px; 6}

###「.one」から「200px」を取得するコード
これが自分のコードですが、スゲーかっこ悪いっす。

jQuery

1/* 2これでは「100px」が取得されてしまう 3*/ 4const width = $('.one').css('width'); 5console.log (width ); // 100px 6 7/* 8200px が取得できた!けどかっこ悪い! 9*/ 10const attr = $('.one').attr('style'); 11console.log( getStyle( 'width', attr ) ); // 200px 12 13function getStyle( want, attr ){ 14 let init = attr.split(';'); 15 let splited = []; 16 $.each(init,function(i,v){ 17 const replaced = v.replace(/\s+/g, ""); 18 const key = replaced.split(':')[0]; 19 const val = replaced.split(':')[1]; 20 splited.push( { [key]:val } ); 21 }); 22 let result; 23 $.each(splited,function(i,v){ 24 if( Object.keys(v)==want ){ 25 result = v[want] 26 } 27 }); 28 return result; 29}
dtexdjtdx, jun68ykt👍を押しています

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

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

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

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

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

hermit19901127

2019/10/22 12:52

主の目的か分かりませんが、「かっこいいコードを組みたい」と存じます…。 アンチパターンとして、「すっごくカッコ悪いコード」が記された宝石箱のようなサイトを紹介いたします… http://unkode-mania.net/ 息抜きにどうぞ…
hermit19901127

2019/10/22 12:55

かっこいいコードを組みたいのであれば「フレームワーク」「デザインパターン」等を、己が今学びたい言語と一緒に検索して学ぶの最適解です… でも、時々は泥臭い実装を強いられる時はあります。
tefu-tefu

2019/10/22 12:55

うける!おもしろいですね!
hermit19901127

2019/10/22 12:58

誰が見てもうなづいてくれるような格好いいコードを組みたいと思ってた時期は自分もありますが、 でも、たまには泥臭いクソみたいなコードを打つ事を強いられることがあるのが現実ではあります…、が 設計部分から情報を得て、根本をクソにしない立ち周りをするための情報収集は大事ですね。 「学びたい言語 デザインパターン」とかで学ぶと、結構出てきますよ。
tefu-tefu

2019/10/22 12:58

なるほどフレームワークにデザインパターンですか。勉強します。
tefu-tefu

2019/10/22 13:00

知らない言葉だったので検索してみます!
hermit19901127

2019/10/22 13:01

ここ余談ですが、「姿勢」からプログラマに入ろうとする貴殿の立ち回りは面白いです…助言いたします まずプログラマとして形から入っていくなら「ハッカーズ」という書籍がおすすめです https://www.amazon.co.jp/ハッカーズ-スティーブン・レビー/dp/487593100X/ref=sr_1_1?keywords=%E3%83%8F%E3%83%83%E3%82%AB%E3%83%BC%E3%82%BA&qid=1571749199&s=books&sr=1-1 プログラマ界のハリーポッターみたいな書籍です。昔から活躍していたハッカーの歴史になります。
hermit19901127

2019/10/22 13:03

リーダブルコード-―より良いコードを書くためのシンプルで実践的なテクニック と言う書籍もおススメです。 かっこいいプログラマを目指すならコードもかっこよくなければなりません。
hermit19901127

2019/10/22 13:06

そのうえで、プログラムは「動機」が大事です。でもかっこいいプログラマに「ヒロイン」がいないのはつまらないですよね。 ならば、VisualStudioを導入してWPFで、自分にふさわしいヒロインの画像を閲覧するための最高のツールを開発するのも一考だと思います。 かっこいいプログラマには、二次元とはいえヒロインを立たせる舞台も必要です。
tefu-tefu

2019/10/22 13:26

ヒロインとは!理系と文系の見事なコントラストとハーモニーあふれるアドバイス!知的でかっこいいっす! 『ハッカーズ』、50年代のMITですか!先日ナショジオで90年代ネットバブル時代のドラマを見たので興味ありです。ありがとうございます!
hermit19901127

2019/10/22 13:34

ハッカーの根源理念は「自分が作ったものをシェアしてハッカー同士で便利な環境を作る」事にあると存じます…。そういう共存関係を築けると理想ですね。
tefu-tefu

2019/10/22 13:44

ハッカーの根源理念、なかなか考えませんね。良い機会をありがとうございます。理念に則って勉強をすすめたいと思います!
guest

回答2

0

というよりmin-width:100px; 必要ですか?
いらないです。結局width:200px; にしているのに、

なのでmin-widthを消して

jQuery

1const width = $('.one').css('width'); 2console.log(width);

でいいです。


どうしてもというなら

jQuery

1$('.one').css('min-width','unset'); 2const width = $('.one').width(); 3console.log(width);

投稿2019/10/22 12:58

編集2019/10/22 13:11
kyoya0819

総合スコア10429

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

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

tefu-tefu

2019/10/22 13:00

それがいるから困ってるんです!前提を変えないで!
kyoya0819

2019/10/22 13:01

> それがいるから困っているんです! どんな状況か全くつかめません。 例えばどういう状況を想定していますか?
kyoya0819

2019/10/22 13:11

追記しました。
tefu-tefu

2019/10/22 13:14 編集

なるほどそうきましたか!あくまで前提のmin-widthを排除してやろうということですねw参考にさせていただきます。
kyoya0819

2019/10/22 13:12 編集

追記しました(2回目)
tefu-tefu

2019/10/22 13:32 編集

追記みました!unsetは考えてなかったですが、でも削除できるならそもそも質問は生じないので、とりあえずご参考にさせていただきます。
kyoya0819

2019/10/22 13:19

色々要件不明瞭すぎです。 「カッコいい」を求めるのは良いですが最低限の知識とマナーとドキュメントはお読みください。 話はそれからです。
tefu-tefu

2019/10/22 13:38 編集

それからですね!不手際すみませんでした!
guest

0

自己解決

https://codepen.io/jun68ykt/pen/XWWpoER?editors=1111
のご回答が最高にかっこいいと確信したので、これをもって解決とさせていただきますー!

投稿2019/10/22 13:16

tefu-tefu

総合スコア29

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

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

tefu-tefu

2019/10/22 13:37

え?そちらのご回答かっこよくないですか??正規表現とか、propertiesでオブジェクトを作るとか、スゲーかっこいいって思いました。
Zuishin

2019/10/22 13:37

いや、あなたが。
tefu-tefu

2019/10/22 13:39

なるほど!わざわざすみません!
tanishi_a

2019/10/22 15:49

質問と直接関係ないこと、かつ余計なお世話で申し訳ないんですが、感想です。 (1) もう一方の質問の件  回答が良いと思ったのなら高評価つけてあげてほしいなと思いました。 (2) この質問の件  自己解決して勝手に終わらせた風に見えてしまう書き方なので  「もう一方の質問」で解決したよ、とリンク貼る等したほうが分かりやすいと思いました。 そのへんが、回答くれたひとたちへの敬意がないように見えて、 マイナス評価がついてるのではないか、と勝手に推察しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問