Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript में बटन क्लिक पर li एलिमेंट्स कैसे हटाएं?

प्रत्येक <li> में बटन जोड़ें, इवेंट डेलिगेशन या व्यक्तिगत लिसनर से remove() या closest() मेथड से पैरेंट <li> हटाएं।

HTML स्ट्रक्चर

<ul id="subjectList">
    <li class="subjectName">JavaScript <button class="removeBtn">हटाएं</button></li>
    <li class="subjectName">MySQL <button class="removeBtn">हटाएं</button></li>
    <li class="subjectName">MongoDB <button class="removeBtn">हटाएं</button></li>
    <li class="subjectName">Java <button class="removeBtn">हटाएं</button></li>
</ul>

विधि 1: इवेंट डेलिगेशन (अनुशंसित - कुशल)

const list = document.getElementById('subjectList');

list.addEventListener('click', function(event) {
    // क्लिक किया गया एलिमेंट बटन है?
    if (event.target.classList.contains('removeBtn')) {
        // closest() से पैरेंट li ढूंढें और हटाएं
        const li = event.target.closest('.subjectName');
        if (li) li.remove();
    }
});

विधि 2: प्रत्येक बटन पर लिसनर (सरल लेकिन कम कुशल)

document.querySelectorAll('.removeBtn').forEach(button => {
    button.addEventListener('click', function() {
        this.closest('.subjectName').remove();
    });
});

विधि 3: इनलाइन onclick (पुराना तरीका)

<li class="subjectName">
    JavaScript 
    <button onclick="this.closest('.subjectName').remove()">हटाएं</button>
</li>

पूरा कार्यकारी उदाहरण

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>LI हटाएं डेमो</title>
    <style>
        .subjectName { padding: 10px; margin: 5px; background: #f0f0f0; display: flex; justify-content: space-between; }
        .removeBtn { background: #ff4444; color: white; border: none; padding: 5px 10px; cursor: pointer; }
    </style>
</head>
<body>
    <h1>विषय हटाएं</h1>
    <ul id="subjectList">
        <li class="subjectName">JavaScript <button class="removeBtn">हटाएं</button></li>
        <li class="subjectName">MySQL <button class="removeBtn">हटाएं</button></li>
        <li class="subjectName">MongoDB <button class="removeBtn">हटाएं</button></li>
        <li class="subjectName">Java <button class="removeBtn">हटाएं</button></li>
    </ul>

    <script>
        document.getElementById('subjectList').addEventListener('click', function(e) {
            if (e.target.matches('.removeBtn')) {
                e.target.closest('.subjectName').remove();
            }
        });
    </script>
</body>
</html>

चलाने का तरीका

फ़ाइल को remove-li.html नाम से सेव करें और ब्राउज़र में खोलें। "हटाएं" बटन क्लिक करके आइटम्स हटाएं।

महत्वपूर्ण मेथड्स

मेथडविवरण
element.remove()एलिमेंट को DOM से हटाता है
element.closest(selector)पैरेंट चेन में मिलने वाला पहला मैचिंग एलिमेंट
event.targetवास्तविक क्लिक किया गया एलिमेंट
event.currentTargetलिसनर वाला एलिमेंट (डेलिगेशन में ul)

बोनस: हटाने से पहले कन्फर्मेशन

list.addEventListener('click', function(e) {
    if (e.target.matches('.removeBtn')) {
        if (confirm('क्या आप वाकई हटाना चाहते हैं?')) {
            e.target.closest('.subjectName').remove();
        }
    }
});
  1. जावास्क्रिप्ट में सर्कल कैसे ड्रा करें? जावास्क्रिप्ट में सर्कल कैसे ड्रा करें?

    जावास्क्रिप्ट में सर्कल ड्रा करने के लिए निम्नलिखित कोड है: उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document<

  1. जावास्क्रिप्ट में बटन क्लिक पर डिव को छिपाना जावास्क्रिप्ट में बटन क्लिक पर डिव को छिपाना

    मान लीजिए निम्नलिखित हमारा डिव है - Welcome in JavaScript निम्नलिखित हमारा बटन है। क्लिक करने पर, उपरोक्त डिव छिप जाना चाहिए -Click The Buttonडिव को छिपाने के लिए जावास्क्रिप्ट में style.display अवधारणा का उपयोग करें। कोड निम्नलिखित है -उदाहरण  Document Click The Button Welcome in Jav

  1. JavaScript में बटन क्लिक पर नाम कैसे जोड़ें और हटाएं? JavaScript में बटन क्लिक पर नाम कैसे जोड़ें और हटाएं?

    उदाहरण addEventListener() और remove() का उपयोग करके डायनामिकली नाम जोड़ें और हटाएं। { var actualName = givenName.value; if (actualName.length != 0) { var createAnHTMLList = `${actualName}Remove Name`; listOfName.innerHTML += createAnHTMLList;