現在railsでポートフォリオを作成しており、ajaxを利用しいいね機能を実装しました。
その際同じ投稿が同じページに表示されてしまうと1ページ内にidが複数存在してしまうため、
いいねをクリックしても1番最初の投稿にしかいいねが反映されないというエラーに直面してしまいました。
解決にかなり時間がかかってしまったので、同じような問題に直面している人の役に立てればと思い記事を書きました!
idはユニークである必要がある
そもそもidは1ページに1つまでしか存在するべきではないというルールがあるため、普通にidを選択すると1つ目しか選択してくれません。
とは言え複数idが存在してしまうケースはあります。
以下のように設定すれば問題は解決できます。
[id=xx]とかく
[id=xx]のようにかけばidをすべて抽出できます。
qiita.js
$("[id=foo]").html("bar");
qiita.html
<p id="foo">foo</p>
<p id="foo">foo</p>
まとめ
[id=xx]とかけばすべて選択できます。
参考になれば嬉しいです。