質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

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回答

1782閲覧

jquery google.mapsの要素の取得と操作

old_dog

総合スコア51

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

JavaScript

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

jQuery

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2019/06/08 04:04

編集2019/06/08 06:28

実現したいこと

google.mapsのinfowindowに関連する要素をjqueryで操作したい。
どうかご指導お願いします。

問題

<style></style>で操作できるが、jqueryでは操作できない。

具体的には、要素の削除、背景色の設定などの操作

対象とする要素

<div class="gm-style-iw-t::after>

<div class="gm-style-iw-d>

コード

jquery

1<script> 2 var infoW = new google.maps.InfoWindow({ 3 content:'<div id="comment">' + str +'<div>' 4 }): 5 google.maps.event.addListenerOnce(map,"idle",function(){ infoW.open(map,marker); }); 6 7 var iw_t_after = $('.gm-style-iw-t::after'); 8 iw_t_after.remove(); 9 // iw_t_after.css({'cssText':'background-color:#aaa !important'}); など 10 11 var iw_d = $('.gm-style-iw-d'); 12 iw_d.css({'cssText':'background:#aaf !important'}); 13</script>

下記のように<style>に設定すると反映される

<style> .gm-style-iw-d {background:#aaf !important} .gm-style-iw-t::after { background:#aaf !important} </style>

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

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

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

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

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

guest

回答2

0

::afterはCSSが出現させている疑似要素で、DOM上には存在しないので、jQueryを含めてJavaScriptからの操作は不可能です。

投稿2019/06/08 04:16

maisumakun

総合スコア145183

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

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

old_dog

2019/06/08 04:25

ありがとうございました。疑似要素に関して勉強になりました。 ご指摘いただきました個所を一部訂正しました。 疑似要素ではない、実在する要素に関しても、jqueryで取得できません。 再度ご指導いただけましたら幸いです。
guest

0

自己解決

new google.maps.Map後に、new google.maps.Marker、new google.maps.InfoWindowを実行し、その後に gm-style-iwを取得しようと試みていたが、おそらく非同期処理のために、取得コード実行時には、gm-style-iwがなく、undifineとなっていたようです。前回、maisumakun様にご指摘いただいたのと類似の内容ということで、自己解決とします。ありがとうございました。

投稿2019/06/08 11:09

old_dog

総合スコア51

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問