/ / JQuery का फ़ेडऑट केवल पहले तत्व पर काम करता है [डुप्लिकेट] - जावास्क्रिप्ट, jquery, html, css, ajax

JQuery fadeOut केवल पहले तत्व [डुप्लिकेट] पर काम करता है - जावास्क्रिप्ट, jquery, html, css, AJAX

मेरे पास एक अन्य div एलिमेंट्स हैं जिसमें सभी में एक एंकर टैग होता है जो एक javascrip फ़ंक्शन चलाता है (एक टेबल से एक पंक्ति को हटाने के लिए AJAX का उपयोग करता है)। उदाहरण;

 <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>

मैं तो इस jquery कोड है;

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

मेरे ज्ञान पर क्लिक करने पर प्रत्येक तत्व को फीका करना चाहिए, लेकिन यह केवल पहले तत्व को लुप्त कर रहा है, अगर मैं अगले तत्वों के बटन पर क्लिक करता हूं तो कुछ भी नहीं होता है।

मुझे यह समझने के लिए व्यापक JQuery ज्ञान नहीं है कि यह क्यों हो रहा है।

उत्तर:

जवाब के लिए 5 № 1

Ids अद्वितीय होना चाहिए, इसके बजाय कक्षाओं का उपयोग करें।

आईडी

[...] तत्वों को केवल आईडी विशेषता के माध्यम से परिभाषित एक एकल आईडी हो सकती है। ध्यान दें कि एक तत्व में कई आईडी हो सकते हैं, लेकिन अन्य को किसी अन्य माध्यम से सेट किया जाना चाहिए, जैसे कि तत्व के डोम इंटरफ़ेस के साथ एक स्क्रिप्ट इंटरफेसिंग के माध्यम से।

कक्षाएं

कक्षाएं सीएसएस और जावास्क्रिप्ट का चयन करने के लिए विशिष्ट तत्वों का चयन करने और एक्सेस करने की अनुमति देता है वर्ग चयनकर्ताओं या डोम विधि की तरह कार्य करता है

संदर्भ

उदाहरण

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();
});

कामकाजी डेमो


Offtopic: मेरा सुझाव है .on () पर एक नज़र रखना.


जवाब के लिए 0 № 2

आप एक ही आईडी वाले पृष्ठ पर केवल एक ही तत्व रख सकते हैं। jQuery भ्रमित हो रहा है। इसके बजाय कक्षा या विशेषता चयनकर्ताओं का उपयोग करें।