現在のページの URL パス名に「/campaign_page/seminar/」または「/forms/」が含まれている場合、そのページ内のすべてのクラスが「.bottom_btn'」という要素に対して非表示にする、というコードを教えていただいたのですが正しく動作せずに困っています。
(回答期限が切れてしまい質問ができなくなってしまったため、再掲載するかたちで投稿しています)
実際に記述したコード
if( /\/(campaign_page\/seminar|forms)\//.test(location.pathname))
document.querySelectorAll('.bottom_btn').forEach( e => {
e.style.display = 'none';
});
デベロッパーツールのconsoleで確認したところ、
Uncaught SyntaxError: Invalid or unexpected tokenというエラーが表示されており、下記の記述に誤りがあるような指摘が返ってきました。
/\/(campaign_page\/seminar|forms)\//.test(location.pathname)
どこか間違っている部分があるのでしょうか?
また.testという部分はlocation.pathnameで取得した値を格納する変数という理解であってますでしょうか。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ご提示の内容では特に誤りは無いので、行の前後を含めて確認しましょう。
怪しいのは、文末セミコロン漏れ、引用符や括弧の開閉対応不備、全角空白などです。
ブラウザの開発者ツールのコンソールが使えるならば、
計算式が正しいかどうかを実行しながら検証しましょう。
例) コンソールに計算式を打ち込み検証する操作例
> /\/(campaign_page\/seminar|forms)\//.test("/aaa/forms/")
← true
> /\/(campaign_page\/seminar|forms)\//.test("forms")
← false
関数の意味を知りたいなら説明書を読みましょう。
https://developer.mozilla.org/ja/docs/Web/JavaSc …
余談ではありますが、
/\/(campaign_page\/seminar|forms)\//
の正規表現は、どうにも不安が募ります。
new RegExp("/campaign_page/seminar/|/forms/")
の様にエスケープや括弧を多用せずに読みやすくしては如何でしょうか。
特に初心者の場合は、読みづらい正規表現がバグの温床になりがちです。
ご提案いただいた下記コードに書き換えてみたところ、思い通りに動作しました。ご丁寧にご説明いただきありがとうございました。
new RegExp("/campaign_page/seminar/|/forms/")
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードを教えてください 2 2023/04/27 17:58
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP PHP MySql ページング 2 2022/09/20 06:38
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- その他(プログラミング・Web制作) pythonでのカーソル移動がずれる 2 2023/07/30 08:51
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ホームページビルダーでスクリ...
-
【FireFox】 javascript で ...
-
javascript:void(0)とは何でし...
-
Vba SelStart、SelLen教えてく...
-
ブラウザ自体の事じゃなくてJav...
-
VBAによる第3、4水準文字の判定...
-
VB.NET2003 テキストボックスに...
-
if(1){...}とはどういうことで...
-
「終了していない文字列型の定...
-
C#でボタン名を変更しても動く
-
innerHTMLなどの反映タイミング
-
javascriptで「オブジェクトを...
-
ページ遷移時にアコーディオン...
-
漢字などを正規表現でパターン...
-
再帰呼び出しになってしまうの...
-
VBScript から JavaScript を呼...
-
VBA ステータスバー DoEvents
-
jQuery ui Datepicker 明日以降...
-
自作のJavaScriptを既存のペー...
-
外部リンクのクリック数を表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javascriptエラーの原因が分か...
-
javascript:void(0)とは何でし...
-
ホームページビルダーでスクリ...
-
クロスドメインでクッキーの取得
-
HTAで,親ウインドウを閉じ...
-
confirm()をはい/いいえ に切...
-
エディタ機能のTEXTAREAを作りたい
-
window.openがIEでエラーにされる
-
PhotoshopのJavaスクリプトで明...
-
Google mapが表示されない
-
クリックすると下に説明文が出...
-
このページのスクリプトでエラ...
-
HTMLにデバック機能はないので...
-
マウスムーブでのマウスカーソ...
-
JavaScript と VBScript を同時...
-
JQueryのエラーの詳細
-
関数を最終行までコピー
-
javascript + php でエラー
-
オブジェクトでサポートされて...
-
DOCTYPE宣言を変更するとjavaが...
おすすめ情報