• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:前後の「+」の意味は?)

+の意味についての疑問

このQ&Aのポイント
  • 質問者は、タブパネルを作成する際に使用しているコード中の 「+(プラス)」 の意味が分からないという疑問を持っています。
  • 「+(プラス)」 がどのような役割を果たしているのかについて、質問者は詳しく教えてほしいと希望しています。
  • また、質問者は該当のコードについて、実際のページのリンクも共有しており、そちらも参考にしていただきながら回答をしてほしいと要望しています。

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

  • ベストアンサー
  • shiren2
  • ベストアンサー率47% (139/295)
回答No.2

分解してみますと、こうですね。 $(   "ul.panel li:not("   +   $("ul.tab li a.selected").attr("href")   +   ")" ).hide(); 以下の文と同じです。 var href = $("ul.tab li a.selected").attr("href"); var e = "ul.panel li:not(" + href + ")"; $(e).hide();

pileny
質問者

お礼

再度のご回答感謝いたします! 初心者なもので、もう少し質問してもよろしいでしょうか・・・? まず教えていただいた1行目の、「var href = $("ul.tab li a.selected").attr("href");」ですが、 ulタグのtabクラスのli aタグのselectedクラスのhref属性を取得し 変数hrefに代入するということですよね。 初期設定では、#tab1にselectedがありますので変数href=#tab1になる、 という理解で宜しいでしょうか。 それで2行目の「var e = "ul.panel li:not(" + href + ")";」ですが ulタグのpanelクラスのliタグの中で変数href(=#tab1)の無いものを 変数eに代入するという理解で宜しいでしょうか。 そして3行目の「$(e).hide();」では #tab1以外のpanel(#tab2から5)の消去を命令するということだと思うんですが 2行目で+をつけていますが、+を書かずにhrefだけではダメなのでしょうか? やはり+の有無がどう作用するのかがきちんと理解できません・・・

その他の回答 (2)

  • shiren2
  • ベストアンサー率47% (139/295)
回答No.3

引数が文字列ということは理解されてますか。 href属性は文字列ですよね。 >var href = $("ul.tab li a.selected").attr("href"); そしてその前後もダブルクォートで囲われているので文字列です。 >var e = "ul.panel li:not(" + href + ")"; >+を書かずにhrefだけではダメなのでしょうか? var str = "AAA" + "BBB"; alert(str); こう書けば、その結果は"AAABBB"になります。 "AAA" "BBB"と書けば、構文エラーが出ますね。 プログラム(インタプリタ)は、「二つの連続した文字列をどう処理したらいいかわからない」からです。 そこで+演算子を書いて、「この二つの文字列は連結してください」と伝えます。 実行部分の動作はほぼ合っていると思います(変数eはただの文字列ですが…。セレクターに渡すことで初めてオブジェクトになります $(e))。

pileny
質問者

お礼

何度も答えていただき申し訳ありません。 >ダブルクォートで囲われているので文字列です そうでしたね! ようやく+でつなげる意味が分かりました! 丁寧なご説明ありがとうございました!

  • shiren2
  • ベストアンサー率47% (139/295)
回答No.1

文字列の結合ですね。 数値同士だと足し算になり、一方か両方が文字列だと文字列の結合になります。

pileny
質問者

お礼

早速のご回答ありがとうございます! 結合かな?とは考えたんですが、 その場合、どの部分とどの部分が「$("ul.tab li a.selected").attr("href")」と結合しているのでしょうか? それが分からない状態です・・・

関連するQ&A

専門家に質問してみよう