jQuery實(shí)現(xiàn)獲取動(dòng)態(tài)添加的標(biāo)簽對(duì)象示例
本文實(shí)例講述了jQuery實(shí)現(xiàn)獲取動(dòng)態(tài)添加的標(biāo)簽對(duì)象。分享給大家供大家參考,具體如下:
jquery無法直接給網(wǎng)頁里面動(dòng)態(tài)添加點(diǎn)擊事件,并且獲取到對(duì)象
一般來說,js獲取動(dòng)態(tài)添加的組件都是自定義給標(biāo)簽添加上onclick屬性來達(dá)到調(diào)用,這是普通的方法,如下:
onclick方式獲取
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>www.dbjr.com.cn jQuery動(dòng)態(tài)獲取事件</title>
</head>
<body>
<div id="test"></div>
</body>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
var html="";//聲明變量用于存放html
for (i=0;i<=10;i++){
html=html+"<button onclick='btnclick(this)'>按鈕"+i+"</button></br>";
}
$('#test').html(html);
function btnclick(e) {
console.log(e.textContent);//獲取按鈕文本
}
</script>
</html>
如今jquery已經(jīng)到了3版本了,官方已經(jīng)放棄live方式了,推薦使用on方法。語法為
$('選擇器').on('click','選擇類型',function (e){代碼段}
jquery不能動(dòng)態(tài)獲取到網(wǎng)頁里面的標(biāo)簽,需要先獲取到網(wǎng)頁固定的標(biāo)簽,讓后再獲取里面其他的標(biāo)簽,所以,如上面代碼中的id為test的div是固定不變的。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>www.dbjr.com.cn jQuery動(dòng)態(tài)獲取事件</title>
</head>
<body>
<div id="test"></div>
</body>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
var html="";//聲明變量用于存放html
for (i=0;i<=10;i++){
html=html+"<button>按鈕"+i+"</button></br>";
}
$('#test').html(html);
$('#test').on('click','button',function (e){
console.log($(this));
});
</script>
</html>
使用http://tools.jb51.net/code/HtmlJsRun測(cè)試運(yùn)行效果:

這樣寫就非常簡(jiǎn)單了,其中選擇類型里面的button還可以進(jìn)一步限制,如:button[class=test],就是選擇動(dòng)態(tài)創(chuàng)建的類為text的按鈕。
要實(shí)現(xiàn)單雙數(shù)只需要在test后面加”:even”,button[class=test]:even,或者odd偶數(shù)
修改后的示例代碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>www.dbjr.com.cn jQuery動(dòng)態(tài)獲取事件</title>
</head>
<body>
<div id="test"></div>
</body>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
var html="";//聲明變量用于存放html
for (i=0;i<=10;i++){
html=html+"<button class=test>按鈕"+i+"</button></br>";
}
$('#test').html(html);
$('#test').on('click','button[class=test]:even',function (e){
console.log($(this));
});
</script>
</html>
繼續(xù)使用http://tools.jb51.net/code/HtmlJsRun 測(cè)試jquery動(dòng)態(tài)獲取奇數(shù)對(duì)象運(yùn)行效果:

更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery常見事件用法與技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
- jquery 如何動(dòng)態(tài)添加、刪除class樣式方法介紹
- jQuery給動(dòng)態(tài)添加的元素綁定事件的方法
- jquery動(dòng)態(tài)添加option示例
- jQuery動(dòng)態(tài)添加的元素綁定事件處理函數(shù)代碼
- jQuery如何獲取動(dòng)態(tài)添加的元素
- jquery動(dòng)態(tài)添加刪除(tr/td)
- jQuery實(shí)現(xiàn)表格行和列的動(dòng)態(tài)添加與刪除方法【測(cè)試可用】
- Jquery 獲取指定標(biāo)簽的對(duì)象及屬性的設(shè)置與移除
- jQuery獲取當(dāng)前對(duì)象標(biāo)簽名稱的方法
- JS加jquery簡(jiǎn)單實(shí)現(xiàn)標(biāo)簽元素的顯示或隱藏
- jQuery實(shí)現(xiàn)標(biāo)簽子元素的添加和賦值方法
相關(guān)文章
JQuery為textarea添加maxlength屬性的代碼
textarea默認(rèn)不支持maxlength屬性。所以通過jquery實(shí)現(xiàn)下。具體的看代碼。2010-04-04
JQuery中模擬image的ajaxPrefilter與ajaxTransport處理
這篇文章主要介紹了JQuery中模擬image的ajaxPrefilter與ajaxTransport處理,本文直接給出模擬實(shí)現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下2015-06-06
JQuery Tips(2) 關(guān)于$()包裝集你不知道的
包裝集總是面向集合的,需要的朋友可以參考下。2009-12-12
基于jquery實(shí)現(xiàn)拆分姓名的方法(純JS版)
jquery拆分姓名處理程序如下,純js實(shí)現(xiàn)的,感興趣的朋友可以參考下哈,希望對(duì)你有所幫助2013-05-05
jQuery EasyUI 組件加上“清除”功能實(shí)例詳解
在使用 EasyUI 各表單組件時(shí),尤其是使用 ComboBox(下拉列表框)、DateBox(日期輸入框)、DateTimeBox(日期時(shí)間輸入框)這三個(gè)組件時(shí),經(jīng)常會(huì)遇到下拉框或日期只允許選擇、不允許手動(dòng)輸入功能,怎么解決呢,下面小編給大家分享解決方案,一起看看吧2017-04-04

