/ / JQuery fadeOut funguje iba na prvom prvku [duplicate] - javascript, jquery, html, css, ajax

JQuery fadeOut funguje iba na prvom prvku [duplicate] - javascript, jquery, html, css, ajax

Mám div, ktorý obsahuje ďalšie prvky div, ktoré obsahujú značku kotvy, ktorá spúšťa funkciu javascrip (pomocou AJAX odstráni riadok z tabuľky). Príklad;

 <div id="container">
<div><a id="btn" onclick="SomeFunction()">Delete</a></div>
<div><a id="btn" onclick="SomeFunction()">Delete</a></div>
<div><a id="btn" onclick="SomeFunction()">Delete</a></div>
... and so on
</div>

Potom mám tento kód Jquery;

  $("#btn").click(function() {
$(this).parent("div").fadeOut();
});

ktoré by mali zmiznúť každý z prvkov na kliknutie podľa môjho vedomia, ale to je len vyblednutie prvý prvok, keď som kliknúť na ďalšie prvky tlačidlo "sa nič nestane.

Nemám rozsiahle znalosti JQuery, aby som pochopil, prečo sa to deje.

odpovede:

5 pre odpoveď č. 1

IDy musia byť jedinečné, namiesto toho používať triedy.

IDS

[...] prvky môžu mať len jeden identifikátor definovaný prostredníctvom atribútu id. Všimnite si, že prvok môže mať niekoľko ID, ale ostatné by mali byť nastavené iným spôsobom, napríklad cez rozhranie skriptu s rozhraním DOM elementu.

vyučovanie

Triedy umožňujú CSS a Javascript vyberať a pristupovať k špecifickým prvkom prostredníctvom výberu tried alebo funkcií, ako je metóda DOM

referencie

príklad

HTML:

<div id="container">
<div><a class="btn" onclick="SomeFunction()">Delete</a></div>
<div><a class="btn" onclick="SomeFunction()">Delete</a></div>
<div><a class="btn" onclick="SomeFunction()">Delete</a></div>
</div>

jQuery:

$(".btn").click(function() // Identify classes by a dot and the class attribute value.
{
$(this).parent("div").fadeOut();
});

Pracovná demo


Offtopic: Odporúčam pozrieť sa na .on ().


0 pre odpoveď č. 2

Na stránke s rovnakým identifikátorom môžete mať iba jeden prvok. jQuery je zmätené. Namiesto toho použite výber tried alebo atribútov.