【问题标题】:Only simple tooltip is showing without any style仅显示简单的工具提示,没有任何样式
【发布时间】:2021-06-23 21:58:14
【问题描述】:

我不知道为什么当我将鼠标悬停在我的 a 上时,只显示一个简单的工具提示和文本。其中没有任何样式,如引导文档中所示。 (我正在使用 js 创建a

HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!--BOOTSTRAP-->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" 
    rel="stylesheet"
    integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.4.0/font/bootstrap-icons.css">

    <!--GOOGLE FONTS-->
    <link rel="preconnect" href="https://fonts.gstatic.com">
    <link href="https://fonts.googleapis.com/css2?family=Ranchers&display=swap" rel="stylesheet">

    <!--CUSTOM STYLESHEET-->
    <link rel="stylesheet" href="../CSS/homePage.css">
    <title>App</title>
</head>

<body>

    <div class = "btndiv">
        <!--DIV FOR STORING ANCHOR TAG-->
    </div>

    <!--JQUERY-->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

    <!--BOOTSTRAP-->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js"
        integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0"
        crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.6.0/dist/umd/popper.min.js"
        integrity="sha384-KsvD1yqQ1/1+IA7gi3P0tyJcT3vR+NdBTt13hSJ2lnve8agRGXTTyNaBYmCR/Nwi"
        crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.min.js"
        integrity="sha384-nsg8ua9HAw1y0W1btsyWgBklPnCUAFLuTMS2G72MMONqmOymq585AcH49TLBQObG"
        crossorigin="anonymous"></script>
    
    <script>
        $(document).ready(function () {
            $('[data-toggle="tooltip"]').tooltip({ 'placement': 'bottom' });
        });
    </script>

    <script src="../JAVASCRIPT/homePage.js"></script>

我的 JS -

const btn1 = document.createElement('a');
btn1.innerHTML = 'DELETE';
btn1.setAttribute('data-bs-toggle', 'tooltip');
btn1.setAttribute('data-bs-placement', 'bottom');
btn1.setAttribute('title', 'Delete');
btn1.href = '#';
btndiv.append(btn1);

【问题讨论】:

    标签: javascript html css bootstrap-5 jquery-ui-tooltip


    【解决方案1】:

    你的代码块有很多错误。

    1. Bootstrap JS 包含两次。第一次作为捆绑包,第二次作为单机。选择其中之一。见:https://getbootstrap.com/docs/5.0/getting-started/introduction/#js

    2. $('[data-toggle="tooltip"]').tooltip({ 'placement': 'bottom' }); 是 Bootstrap 4 方法。这不是 Bootstrap 5 方法 - 请参阅:https://getbootstrap.com/docs/5.0/components/tooltips/#example-enable-tooltips-everywhere

    3. 我假设您的 JS 是在工具提示初始化之后调用的,因此它不会在 DOM 中包含 btn1 组件。所以它没有被初始化。为此,您需要在组件已经在 DOM 中之后初始化工具提示。

    4. btndiv.append(btn1); .. btndiv 行未定义。

    最好只给你一个工作示例(我假设你想使用 jQuery):https://jsfiddle.net/vinorodrigues/rLjzys8k/2/

    HTML:

        <div class = "btndiv">
            <!--DIV FOR STORING ANCHOR TAG-->
        </div>
    
    

    JS:

    const btn1 = document.createElement('a');
    btn1.innerHTML = 'DELETE';
    btn1.setAttribute('data-bs-toggle', 'tooltip');
    btn1.setAttribute('data-bs-placement', 'bottom');
    btn1.setAttribute('title', 'Delete');
    btn1.href = '#';
    
    const btndiv = $('.btndiv');
    btndiv.append(btn1);
    
    var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'))
    var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
      return new bootstrap.Tooltip(tooltipTriggerEl)
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-02
      • 1970-01-01
      • 2018-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多