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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

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

Q&A

解決済

2回答

3756閲覧

jquery でon(click )が一つ目しか反応しない。

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

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

1グッド

0クリップ

投稿2018/11/29 07:39

同じidを複数に与え、jqueryを発動させたいと考えているのですが一つ目しか反応してくれません。
他の二つは無反応です。
一つ目と同じ動きをさせる方法を教えてください。
宜しくお願い致します。

html
<div class="1">
<p id="testes">testes</p>
</div>

<div class="2"> <p id="testes">testes</p> </div> <div class="3"> <p id="testes">testes</p> </div>

jquery
$(function){
$('#testes').on('click',function(){

var html = $(this).parent().prop('outerHTML'); localStorage.setItem(html,html );

})
}

mikeko0901👍を押しています

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

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

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

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

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

x_x

2018/11/29 07:47

そもそもHTMLが正しくないというのは無視なのでしょうか?
sk_3122

2018/11/29 07:49

id は重複不可ですね。同じ動きを 複数の部品でさせたい というのであれば class を使うべきですかね。
退会済みユーザー

退会済みユーザー

2018/11/29 07:54

IDをclassに変更したところ希望どうりの動きになりました!ありがとうございます!
kei344

2018/11/29 12:23

まだ質問が「受付中」になっていますが、どのように解決したのかを回答文に書き、「解決済」にされてはいかがでしょうか。
guest

回答2

0

ベストアンサー

HTMLにおいて、id要素は一意である(≒重複してはいけない)必要があります。

よって、例えば以下のようにidではなくclassに変更したりすれば重複していても動作します。

HTML

1<div class="1"> 2<p class="testes">testes</p> 3</div> 4 5<div class="2"> 6<p class="testes">testes</p> 7</div> 8 9<div class="3"> 10<p class="testes">testes</p> 11</div>

jQuery

1$(function){ 2$('.testes').on('click',function(){ 3 4var html = $(this).parent().prop('outerHTML'); 5 6localStorage.setItem(html,html ); 7}) 8}

投稿2018/11/29 07:51

madoka9393

総合スコア992

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

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

0

$(function){ $('[id=testes]').on('click',function(){ var html = $(this).parent().prop('outerHTML'); localStorage.setItem(html,html ); }) }

これでどうでしょうか

-追記-
ボタンを押した後の動きの事でしたね見間違えてました。
失礼しました。

$(this)ですとクリックされた要素しか動きませんので
タグ指定かID指定すればよいと思います

投稿2018/11/29 07:45

編集2018/11/29 07:52
mepon

総合スコア480

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

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

退会済みユーザー

退会済みユーザー

2018/11/29 07:56

回答ありがとうございます。 IDの重複が原因でした、classに変更したところ希望どうりの動きになりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問