【问题标题】:JS doesn't change the DIV by toggleJS 不会通过切换来改变 DIV
【发布时间】:2017-01-07 22:00:59
【问题描述】:

我尝试使用 Bootstrap 切换来更改 div html,就像 http://www.bootstraptoggle.com/#events 中的示例一样,稍作更改,但没有成功。 (原件与我当前的 js 代码不匹配) 我做错了什么?

        <!DOCTYPE html>
    <html lang="he">
    <head>
      <title>Bootstrap Example</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" type="text/css" href="css/onoff.css">

      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
      <script type="text/javascript" src="/path/to/jquery-latest.js"></script> 
    <script type="text/javascript" src="/path/to/jquery.tablesorter.js"></script> 

    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

    <!-- Optional theme -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">

    <!-- Latest compiled and minified JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
     <link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet">
    <script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>

    <!-- Bootstrap Table -->
  <!--- THE PROBLEM LINES ---->  
    <!-- DataTable -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="https://cdn.datatables.net/1.10.7/js/jquery.dataTables.min.js"></script>
    <script src="https://cdn.datatables.net/plug-ins/1.10.7/integration/bootstrap/3/dataTables.bootstrap.js"></script>
   <!--- THE PROBLEM LINES ----> 


    <head>
    <input id="toggle-event" type="checkbox" data-toggle="toggle">
        <div id="console-event"></div>
    </head>



        <script>
       $(document).ready(function($) {
        $('#toggle-event').on('change',(function() {
          $('#console-event').html('Toggle: ' + $(this).prop('checked'))
        })
      )})
        </script>

编辑


我修复了“,”,但它仍然不起作用。 “,”错误只在这里。我的代码没有这个问题。 问题在于以下几行:

   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
 <link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet">
<script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>

每次我添加它们时它都不起作用,当我删除它时,它工作得很好。

【问题讨论】:

  • 由于简单的印刷错误而关闭。请学习使用控制台查看您的 JS 错误。
  • 你应该检查浏览器的控制台然后调试然后只发布像语法错误这样的问题
  • 寻找更新

标签: javascript jquery html css twitter-bootstrap


【解决方案1】:

您被多次添加 head 标签。无需再添加一次。

你的更新是这样的。不用担心完整性和交叉组织。

参考:What are the integrity and crossorigin attribute?

<!DOCTYPE html>
<html lang="he">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">   </script>
   <!-- Latest compiled and minified CSS -->
      <link rel="stylesheet"  href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"  >
  <!-- Optional theme -->
  <link rel="stylesheet"    href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css">
  <!-- Latest compiled and minified JavaScript -->
     <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" >       </script>
    <link href="https://gitcdn.github.io/bootstrap-   toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet">
  <script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
  </head>

<body>
<script>
   $(document).ready(function() {
    $('#toggle-event').change(function() {
     $('#console-event').html('Toggle: ' + $(this).prop('checked'));
   });
 })
  </script>
  <input id="toggle-event" type="checkbox" data-toggle="toggle">
    <div id="console-event"></div>
   </body>

【讨论】:

    【解决方案2】:

    如果你想使用“on”,在这一行:

     $('#toggle-event').on('change'.(function() {
    

    在'change'之后你有“.(”,用逗号替换它。

    $('#toggle-event').on('change', function() {
        $('#console-event').html('Toggle: ' + $(this).prop('checked'));
    });
    

    【讨论】:

      【解决方案3】:

      您更新的脚本代码是:

       $(document).ready(function() {
       $('#toggle-event').change(function() {
        $('#console-event').html('Toggle: ' + $(this).prop('checked'));
      });
      

      })

      【讨论】:

      • 更新您的原始答案,而不是给出多个答案。
      【解决方案4】:

      这是一个小错字(“.” => ',')。

      on('change'. (function() { => on('change', (function() {

      完整代码:

      $('#toggle-event').on('change', (function() {
            $('#console-event').html('Toggle: ' + $(this).prop('checked'))
      })
      

      【讨论】:

        【解决方案5】:
          $(function() {
            $('#toggle-event').change(function() {
              $('#console-event').html('Toggle: ' + $(this).prop('checked'))
            })
          })
        

        你有多余的“)”

        【讨论】:

          猜你喜欢
          • 2017-09-16
          • 2019-04-23
          • 1970-01-01
          • 2022-09-30
          • 2023-03-29
          • 2021-01-18
          • 1970-01-01
          • 1970-01-01
          • 2019-03-14
          相关资源
          最近更新 更多