<script> $(function () { $("body").on("click", ".hidden_panel", function (e) { $(this).children(".panel-body").toggle(); $(this).children(".panel-footer").toggle(); $(this).find(".panel-heading_symbol_left").toggle(); $(this).find(".panel-heading_symbol_down").toggle(); }); }); </script>
轉自或參考:給動態添加的標籤添加事件的問題 - tangmin的博客 - CSDN博客
https://blog.csdn.net/tangminfx/article/details/82019340html
1 測試代碼: 2 3 <!DOCTYPE html> 4 <html> 5 <head> 6 <meta charset="UTF-8"> 7 <title>www.jb51.net - JS實現爲動態建立的元素添加事件</title> 8 <script src="js/jquery-1.9.1.min.js"></script> 9 </head> 10 <body> 11 <button id="btn">添加事件</button> 12 <div id="panel"></div> 13 <script> 14 15 //jquery部分實現 16 $("#btn").click(function(){ 17 var arr= []; 18 for(var i=0;i<10;i++){ 19 arr.push("<p id='nep'>"+i+"</p>"); 20 } 21 $("#panel").html(function(){ 22 return arr.join("<br/>"); 23 }); 24 }); 25 //爲動態建立的html標籤元素添加事件 26 $("#panel").on("click",function(){ 27 var that=$(this);//獲取當前點擊的this對象 28 alert(that.text()) 29 console.log(that.text()); 30 }); 31 </script> 32 </body> 33 </html>
轉自或參考:JQuery實現動態添加的標籤元素的點擊事件
https://blog.csdn.net/doctor_ly/article/details/80253677jquery
這裏所說的動態添加的元素的意思是:用js添加的標籤元素bootstrap
想對一些數據實現分頁,就本身寫一個分頁功能。用的是bootstrap的分頁,在頁面獲取數據列表後,計算出須要分多少頁展現,而後用js生成多個頁碼(是叫頁碼嗎?)。生成後,點擊某個頁碼跳到相應的頁,這時確定要有點擊事件。問題來了,沒有點擊事件。(最初一臉黑人問號)測試
這是由於在註冊click後,再用js生成元素標籤的。因此後添加的元素標籤沒有註冊click事件。this
網上還有一種廣泛的解決方案:spa
用on去註冊事件,這種要有一個父級標籤,而且這個父級標籤不是用js生成的。.net
這樣雖然元素標籤在事件的註冊以後,可是點擊事件是註冊在父級標籤上的,咱們仍是能夠觸發對應的事件。code