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

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

詳細はこちら
jQuery

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Q&A

解決済

2回答

226閲覧

jQueryのセレクタの:notについて

keisuu

総合スコア40

jQuery

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

0グッド

2クリップ

投稿2019/11/28 03:20

jQueryとbootstrapとfont-awesomeを使っています。

html

1<a class="head"> 2 <h3>見出し 3 <i class="fas fa-question-circle" data-toggle="tooltip" data-placement="top" title="tooltip"></i> 4 </h3> 5</a>

javascript

1 $("a.head h3:not('i')").on("click", function () { 2 alert("iのアイコンをクリックしても実行されないように書きたい。") 3 })

HTMLをa > h3 > i と書いているのですが、jQueryのセレクターで
iをクリックした時にはアラートがでないようにしたいのですが、notで対応可能な事案でしょうか?

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

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

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

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

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

guest

回答2

0

ベストアンサー

テキスト部分をspanか何かで囲めばよいでしょう

javascript

1<script> 2$(function(){ 3 $("a.head h3 :not('i')").on("click", function () { 4 alert("iのアイコンをクリックしても実行されないように書きたい。") 5 }) 6}); 7</script> 8<a class="head"> 9 <h3><span>見出し</span> 10 <i class="fas fa-question-circle" data-toggle="tooltip" data-placement="top" title="tooltip"></i> 11 </h3> 12</a>
  • 調整版

javascript

1<script> 2$(function(){ 3 $("a.head h3").on("click", function (e) { 4 if(e.target.nodeName=="H3"){ 5 console.log("iのアイコンをクリックしても実行されないように書きたい。"); 6 } 7 }) 8}); 9</script> 10<a class="head"> 11 <h3>見出し 12 <i class="fas fa-question-circle" data-toggle="tooltip" data-placement="top" title="tooltip">x</i> 13 </h3> 14</a>

投稿2019/11/28 03:31

編集2019/11/28 04:11
yambejp

総合スコア116694

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

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

keisuu

2019/11/28 04:05

ありがとうございます。 実装したいことに近づきました。 codepenを作ってみたのですが、 現在h3>span部分をクリックするとalertがでますが、 h3>spanの文字部分ではなく、灰色の背景部分(h3)を押すとalertがでる。 しかし、iのアイコン部分だけはalertが出ないようにするにはどのようにすればよろしいでしょうか。 https://codepen.io/dayonomaigu/pen/vYYomZr
yambejp

2019/11/28 04:12 編集

なるほど・・・調整版の方でお試しください(spanはやめました) 一部わかりにくところを修正しました
keisuu

2019/11/28 04:20

:notをやめて、e.target.nodeName=="H3"で限定するということですね。 大変助かりました。ありがとうございます。
guest

0

"a.head h3:not('i')"ではなく、"a.head h3:not(i)"なのではないでしょうか。

投稿2019/11/28 04:19

maisumakun

総合スコア145975

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

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

keisuu

2019/11/28 04:22 編集

閲覧、ご回答ありがとうございます。 ご指摘の通り、(i)が正しい文法のようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問