Open In App

Bootstrap 5 Dropdowns Via data Attributes

Last Updated : 18 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

Bootstrap 5  Dropdowns Via data attributes allow you to add your own information to tags. The data-* attributes can be used to define our own custom data attributes. It is used to store custom data in private on the page or application. Using data attributes is a sub-topic of JavaScript behavior, so by using data attributes in the list group you can activate dropdowns without writing any JavaScript by simply specifying data-bs-toggle=” list” or on an element.

Bootstrap 5  Dropdowns Via data attributes Class: There is no pre-defined class for this data-bs-toggle attribute that plays the main role.

Bootstrap 5  Dropdowns Via data Attribute:

  • data-bs-toggle: This attribute is used to describe what type of toggling will be done to the button to which it is attached.

Syntax:

<div class="dropdown">
      <button id="dLabel" type="button"
           data-bs-toggle="dropdown" aria-expanded="false">
        ...
      </button>
      <ul class="dropdown-menu" aria-labelledby="dLabel">
        ...
      </ul>
</div>

Example 1: The code below demonstrates how dropdown toggle can be triggered with a button and an anchor and enclosing both inside a button group.

HTML




<!doctype html>
<html lang="en">
 
<head>
    <link href=
        rel="stylesheet" integrity=
"sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
        crossorigin="anonymous">
    <script src=
        integrity=
"sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
        crossorigin="anonymous">
    </script>
</head>
 
<body>
    <h1 class="m-4 text-success">GeeksforGeeks</h1>
    <h4 class="ms-4">
        Bootstrap 5 Dropdowns Via data attributes
    </h4>
    <div class="container m-5">
        <div class="btn-group">
            <div class="btn-group">
                <button type="button" class="btn btn-success
                    btn-lg dropdown-toggle"
                    data-bs-toggle="dropdown">
                    Dropdown with button
                </button>
                <ul class="dropdown-menu">
                    <li><a class="dropdown-item" href="#">
                        Data Structures</a></li>
                    <li><a class="dropdown-item" href="#">
                        Algorithms</a></li>
                    <li><a class="dropdown-item" href="#">
                        Competitive Programming</a></li>
                    <li><a class="dropdown-item" href="#">
                        Web Development</a></li>
                </ul>
            </div>
            <div class="btn-group">
                <a href="#" role="button" class="btn btn-secondary
                    btn-lg dropdown-toggle"
                    data-bs-toggle="dropdown">
                    Dropdown with link
                </a>
                <ul class="dropdown-menu dropdown-menu-end">
                    <li><a class="dropdown-item" href="#">
                        Java</a></li>
                    <li><a class="dropdown-item" href="#">
                        C++</a></li>
                    <li><a class="dropdown-item" href="#">
                        HTML</a></li>
                    <li><a class="dropdown-item" href="#">
                        CSS</a></li>
                    <li><a class="dropdown-item" href="#">
                        JS</a></li>
                </ul>
            </div>
        </div>
    </div>
</body>
</html>


Output:

Bootstrap 5  Dropdowns Via data Attributes

Bootstrap 5  Dropdowns Via data Attributes

Example 2: The code below demonstrates how we can add this dropdown inside the navbar and adding Scrollspy to it.

HTML




<!doctype html>
<html lang="en">
<head>
    <link href=
        rel="stylesheet" integrity=
"sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
        crossorigin="anonymous">
    <script src=
        integrity=
"sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
        crossorigin="anonymous">
    </script>
    <script>
        $(function(){
            $('#work').on('activate.bs.scrollspy')
        });
    </script>
    <style>
        body{
            position: relative;
        }
    </style>
</head>
<body>
    <h1 class="m-4 text-success">
        GeeksforGeeks
    </h1>
    <h4 class="ms-4">
        Bootstrap 5 Dropdowns Via data attributes
    </h4>
    <div class="container">
        <nav id="navbar-example2" class="navbar navbar-light
            bg-light px-3 m-4">
            <a class="navbar-brand" href="#">Navbar</a>
            <div class="dropdown">
                <button class="btn btn-success dropdown-toggle"
                    type="button" id="dropdownMenuButton2"
                    data-bs-toggle="dropdown"
                    aria-expanded="false">
                    Topics
                </button>
                <ul class="dropdown-menu dropdown-menu-dark"
                    aria-labelledby="dropdownMenuButton2">
                    <li class="nav-item">
                      <a class="nav-link" href="#scrollspyHeading1">
                        DS</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="#scrollspyHeading2">
                        Algorithms</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="#scrollspyHeading3">
                        C++</a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="#scrollspyHeading4">
                        BootStrap 5</a>
                    </li>
                </ul>
            </div>
        </nav>
        <div class="container" data-bs-spy="scroll"
            data-bs-target="#navbar-example2"
            data-bs-offset="0" class="scrollspy-example"
            tabindex="0">
            <h4 id="scrollspyHeading1">Data Structures</h4>
            <p>A data structure is a group of data elements that provides
            the easiest way to store and perform different actions
            on the data of the computer. A data structure is a particular
            way of organizing data in a computer so
            that it can be used effectively. The idea is to reduce the
            space and time complexities of different tasks.
            The choice of a good data structure makes it possible
            to perform a variety of critical operations effectively.
            An efficient data structure also uses minimum memory space
            and execution time to process the structure.</p>
            <h4 id="scrollspyHeading2">Algorithms</h4>
            <p>The word Algorithm means ” A set of finite rules or
            instructions to be followed in calculations or other
            problem-solving operations ” Or ” A procedure for solving
            a mathematical problem in a finite number of steps that
            frequently involves recursive operations”.It can be understood
            by taking the example of cooking a new recipe.
            To cook a new recipe, one reads the instructions
            and steps and executes them one by one,
            in the given sequence. The result thus obtained
            is the new dish is cooked perfectly. Every time you
            use your phone, computer, laptop, or calculator
            you are using Algorithms. .</p>
            <h4 id="scrollspyHeading3">C++</h4>
            <p>C++ is a general-purpose programming language
            and is widely used nowadays for competitive programming.
            It has imperative, object-oriented and generic
            programming features. C++ runs on lots of platforms
            like Windows, Linux, Unix, Mac etc.C++ is a general-purpose
            programming language that was developed as an
            enhancement of the C language to include
            object-oriented paradigm. It is an imperative
            and a compiled language.C++ is a middle-level
            language rendering it the advantage of programming
            low-level (drivers, kernels) and even higher-level
            applications (games, GUI, desktop apps etc.).
            The basic syntax and code structure of both
            C and C++ are the same. </p>
            <h4 id="scrollspyHeading4">BootStrap 5</h4>
            <p>Bootstrap is a free and open-source collection of
            CSS and JavaScript/jQuery code used for creating
            dynamic websites layout and web applications.
            Bootstrap is one of the most popular front-end
            frameworks which has really a nice set of
            predefined CSS codes. Bootstrap uses different
            types of classes to make responsive websites.
            Bootstrap 5 was officially released on 16 June
            2020 after several months of redefining its features.
            Bootstrap is a framework that is suitable for
            mobile-friendly web development. it means the
            code and the template available on bootstrap
            are applicable to various screen sizes.
            It is responsive for every screen size. </p>
        </div>
    </div>  
 </body>
</html>


Output:

Bootstrap 5  Dropdowns Via data Attributes

Bootstrap 5  Dropdowns Via data Attributes

Reference: https://getbootstrap.com/docs/5.0/components/dropdowns/#via-data-attributes 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads