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

सीएसएस और जावास्क्रिप्ट के साथ अपने वर्ग के नाम के आधार पर एक डीआईवी तत्व को कैसे फ़िल्टर करें?

<घंटा/>

किसी DIV तत्व को उसके वर्ग नाम के आधार पर फ़िल्टर करने के लिए, कोड इस प्रकार है -

उदाहरण

<!DOCTYPE html>
<html>
<style>
   .filterElements {
      float: left;
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
      font-size: 20px;
      background-color: rgb(28, 98, 179);
      color: #ffffff;
      width: 100px;
      line-height: 100px;
      text-align: center;
      margin: 2px;
      display: none;
   }
   .show {
      display: block;
   }
   .container {
      margin-top: 20px;
      overflow: hidden;
   }
   .btn {
      border: none;
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
      font-size: 14px;
      outline: none;
      padding: 12px 16px;
      background-color: #d6e5ec;
      cursor: pointer;
   }
   .btn:hover {
      background-color: rgb(157, 209, 211);
   }
   .btn.active {
      background-color: rgb(34, 95, 228);
      color: white;
   }
</style>
<body>
<h1>Filter DIV Elements Example</h1>
<div class="filterBtns">
<button class="btn active" onclick="filterSelection('all')">Show all</button>
<button class="btn" onclick="filterSelection('animals')">Animals</button>
<button class="btn" onclick="filterSelection('fruits')">Fruits</button>
</div>
<div class="container">
<div class="filterElements fruits">Orange</div>
<div class="filterElements animals">Giraffe</div>
<div class="filterElements animals">Cheetah</div>
<div class="filterElements animals">Lion</div>
<div class="filterElements fruits">Guava</div>
<div class="filterElements animals">Dog</div>
<div class="filterElements fruits">Banana</div>
<div class="filterElements fruits">Mango</div>
<div class="filterElements animals">Bull</div>
</div>
<script>
   filterSelection("all");
   function filterSelection(c) {
      var x, i;
      x = document.querySelectorAll(".filterElements");
      if (c == "all") c = "";
      Array.from(x).forEach(item => {
         removeActiveClass(item, "show");
         if (item.className.indexOf(c) > -1) addActiveClass(item, "show");
      });
   }
   function addActiveClass(ele, name) {
      var i, arr1, arr2;
      arr1 = ele.className.split(" ");
      arr2 = name.split(" ");
      for (i = 0; i < arr2.length; i++) {
         if (arr1.indexOf(arr2[i]) == -1) {
            ele.className += " " + arr2[i];
         }
      }
   }
   function removeActiveClass(ele, name) {
      var i, arr1, arr2;
      arr1 = ele.className.split(" ");
      arr2 = name.split(" ");
      for (i = 0; i < arr2.length; i++) {
         while (arr1.indexOf(arr2[i]) > -1) {
            arr1.splice(arr1.indexOf(arr2[i]), 1);
         }
      }
      ele.className = arr1.join(" ");
   }
   var filterBtns = document.querySelector(".filterBtns");
   var btns = filterBtns.getElementsByTagName("button");
   for (var i = 0; i < btns.length; i++) {
      btns[i].addEventListener("click", function() {
         var current = document.getElementsByClassName("active");
         current[0].className = current[0].className.replace(" active", "");
         this.className += " active";
      });
   }
</script>
</body>
</html>

आउटपुट

उपरोक्त कोड निम्न आउटपुट उत्पन्न करेगा -

सीएसएस और जावास्क्रिप्ट के साथ अपने वर्ग के नाम के आधार पर एक डीआईवी तत्व को कैसे फ़िल्टर करें?

किसी भी फिल्टर बटन पर क्लिक करने पर -

सीएसएस और जावास्क्रिप्ट के साथ अपने वर्ग के नाम के आधार पर एक डीआईवी तत्व को कैसे फ़िल्टर करें?


  1. जावास्क्रिप्ट के साथ किसी तत्व से कक्षा का नाम जोड़ने और निकालने के बीच कैसे टॉगल करें?

    जावास्क्रिप्ट के साथ किसी तत्व से वर्ग नाम जोड़ने और हटाने के बीच टॉगल करने के लिए, कोड इस प्रकार है - उदाहरण <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>    .newStyle {  

  1. जावास्क्रिप्ट वाले तत्व से कक्षा का नाम कैसे निकालें?

    जावास्क्रिप्ट के साथ एक तत्व से एक वर्ग का नाम हटाने के लिए, कोड इस प्रकार है - उदाहरण <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>    .newStyle {       font-fam

  1. जावास्क्रिप्ट और सीएसएस के साथ खींचने योग्य HTML तत्व कैसे बनाएं?

    जावास्क्रिप्ट और सीएसएस के साथ खींचने योग्य HTML तत्व बनाने के लिए, कोड इस प्रकार है - उदाहरण <!DOCTYPE html> <html> <style>    body {       font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;    }    .dragDiv {