私(質問者のレベル
現在webpackを使いながらあるライブラリを使用中に起こった問題です。
普段はjQueryをあまりつかわない人間なのですが、dom操作などについては理解しているため調べながらなら普通に使えます。
問題
問題のコードはこちらです。
元のコード(動かない)
javascript
1this._elt = $(this.element) 2this._elt.removeClass("~~")
改変後のコード(動く)
javascript
1this._elt = this.element 2$(this._elt).removeClass("~~")
個人的に調べたこと
Chrome Dev Tools をつかってconsoleに出力したところ
変数に代入後のthis._elt
とthis.element
はきちんと同じ(当たり前ですが)
元のコードをconsole.log(this._elt)
したところ
▼jQuery.fn.init [div.ol-overlay-container.ol-selectable] ▶0:div.ol-popup.default.ol-popup-top.ol-popup-left.hasclosebox.visible length:1 ▶__proto__:Object(0)
となりました。
また、__proto__
を展開するとremoveClass
は存在します。
回答していただきたいこと
元のコードと改変後のコードの違いと、動かない理由を教えていただきたいです。
よろしくおねがいします。
追記
問題が再現できないということですので該当ライブラリのコードのリンクを貼らさせていただきます
https://github.com/Viglino/ol-ext/blob/master/src/overlay/Popup.js#L62
追記2
console logでエラーを吐く場所はここです
https://github.com/Viglino/ol-ext/blob/master/src/overlay/Popup.js#L150
回答4件
あなたの回答
tips
プレビュー