欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS獲取動(dòng)態(tài)添加元素的方法詳解

 更新時(shí)間:2019年07月31日 10:35:20   作者:風(fēng)銘大師  
這篇文章主要介紹了JS獲取動(dòng)態(tài)添加元素的方法,結(jié)合實(shí)例形式分析了js動(dòng)態(tài)添加DOM元素及獲取已添加的DOM元素相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JS獲取動(dòng)態(tài)添加元素的方法。分享給大家供大家參考,具體如下:

在頁(yè)面的渲染中,我們經(jīng)常用遇到動(dòng)態(tài)添加的DOM元素,那么在獲取這些元素的時(shí)候或則為這些DOM元素的時(shí)候,我們有下面三種處理方法:

  • 1.  在模板引擎里面添加行內(nèi)事件
  • 2.  利用事件的委托獲取(常用)
  • 3.  在ajax的監(jiān)聽(tīng)響應(yīng)完成函數(shù)后面獲取

一 在模板引擎里面添加行內(nèi)事件

添加行內(nèi)事件就是在標(biāo)簽里面添加事件,這樣就可以直接獲取到動(dòng)態(tài)添加的元素.

<!-- 1.準(zhǔn)備一個(gè)模板 -->
  <script id="tpl-table" type="text/html">
    {{ each rows value key }}
      <tr>
        <td>
            <button type="button" onclick="updateUser({{ value.id }} {{@ ','}} {{value.isDelete}})" id="btn-status" >按鈕</button>
        </td>
      </tr>
    {{ /each }}
  </script>

  //事件函數(shù),書(shū)寫(xiě)在單獨(dú)的JS文件中
  //帶有參數(shù),參數(shù)是模板傳遞過(guò)來(lái)的
  function updateUser (id,isDelete){
      //doSomething.........
  }

上面使用的模板是art-template,在模板里面我們給button標(biāo)簽注冊(cè)了點(diǎn)擊事件onclick,但是事件函數(shù)卻是一個(gè)帶參數(shù)的函數(shù).當(dāng)點(diǎn)擊這個(gè)按鈕的時(shí)候,就會(huì)觸發(fā)點(diǎn)擊事件,進(jìn)而調(diào)用updateUser()函數(shù).

二. 利用事件的委托獲取(常用)

事件的委托可以為動(dòng)態(tài)添加的元素綁定事件.

//同樣以上面的代碼為例,tr最后是添加到table中,那么將點(diǎn)擊事件委托給table
$('table').on('click','tr #btn-status',function(){
    //doSomething........
})

上面的代碼意思是,將點(diǎn)擊事件綁定給table元素,但是我們點(diǎn)擊的是table里面的button按鈕,此時(shí)事件的冒泡起作用,向外冒泡遇到父元素table也有點(diǎn)擊事件,那么就會(huì)去執(zhí)行這個(gè)事件.

三 在ajax的監(jiān)聽(tīng)響應(yīng)完成函數(shù)后面獲取

當(dāng)我們把模板渲染出來(lái)的時(shí)候,此時(shí)頁(yè)面上已經(jīng)是最新的動(dòng)態(tài)元素了,DOM也已經(jīng)重繪完成,此時(shí)再去獲取動(dòng)態(tài)元素.

$.ajax({
    url : 'text.php',
    dataType : 'json',
    success : function(obj){
        //渲染動(dòng)態(tài)元素到頁(yè)面上
        var trHTML = template('tpl-table',obj);
        $('table').append(trHTML);
        //獲取動(dòng)態(tài)元素注冊(cè)點(diǎn)擊事件
        $('tr #btn-status').on('click',function(){
            //doSomething........
        });
    }
})

四 總結(jié):

第一種方法要注意事件函數(shù)必須是全局函數(shù);第二種最常用,但是三者的共同點(diǎn)都是當(dāng)頁(yè)面已經(jīng)渲染完畢后才能獲取到動(dòng)態(tài)元素.

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript操作DOM技巧總結(jié)》、《JavaScript頁(yè)面元素操作技巧總結(jié)》、《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript查找算法技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • JavaScript中的數(shù)組遍歷forEach()與map()方法以及兼容寫(xiě)法介紹

    JavaScript中的數(shù)組遍歷forEach()與map()方法以及兼容寫(xiě)法介紹

    下面小編就為大家?guī)?lái)一篇JavaScript中的數(shù)組遍歷forEach()與map()方法以及兼容寫(xiě)法介紹。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • JavaScript控制Session操作方法

    JavaScript控制Session操作方法

    JavaScript代表客戶端,而Session代表的是服務(wù)器(不知道這樣說(shuō)大家是否能夠理解)接下來(lái)介紹JavaScript如何控制Session,感興趣的朋友可以了解下啊
    2013-01-01
  • JavaScript 隱式類型轉(zhuǎn)換規(guī)則詳解

    JavaScript 隱式類型轉(zhuǎn)換規(guī)則詳解

    這篇文章主要為大家介紹了JavaScript 隱式類型轉(zhuǎn)換規(guī)則詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2023-05-05
  • JavaScript多線程的實(shí)現(xiàn)方法

    JavaScript多線程的實(shí)現(xiàn)方法

    以下內(nèi)容基于IE中GIF的onload事件的基礎(chǔ)上,故所有測(cè)試IE only
    2007-05-05
  • JavaScript尾遞歸的實(shí)現(xiàn)及應(yīng)用場(chǎng)景

    JavaScript尾遞歸的實(shí)現(xiàn)及應(yīng)用場(chǎng)景

    本文主要介紹了JavaScript尾遞歸的實(shí)現(xiàn)及應(yīng)用場(chǎng)景,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • JavaScript??际謱?xiě)題之柯里化與數(shù)組扁平化的實(shí)現(xiàn)

    JavaScript??际謱?xiě)題之柯里化與數(shù)組扁平化的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了JavaScript常考手寫(xiě)題中柯里化與數(shù)組扁平化、數(shù)組去重的實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • JS彈出層單純的絕對(duì)定位居中示例代碼

    JS彈出層單純的絕對(duì)定位居中示例代碼

    這篇文章主要介紹了JS彈出層的絕對(duì)定位居中是如何實(shí)現(xiàn)的,需要的朋友可以參考下
    2014-02-02
  • JS實(shí)現(xiàn)遠(yuǎn)程控制的基本原理和實(shí)現(xiàn)方法

    JS實(shí)現(xiàn)遠(yuǎn)程控制的基本原理和實(shí)現(xiàn)方法

    遠(yuǎn)程控制是指通過(guò)網(wǎng)絡(luò)等遠(yuǎn)距離通訊手段控制另一設(shè)備的操作行為,在現(xiàn)實(shí)生活中,隨著物聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,遠(yuǎn)程控制技術(shù)越來(lái)越重要,本文將詳細(xì)介紹?JS?實(shí)現(xiàn)遠(yuǎn)程控制的基本原理、開(kāi)發(fā)流程和實(shí)現(xiàn)方法,需要的朋友可以參考下
    2023-06-06
  • 微信小程序 彈窗輸入組件的實(shí)現(xiàn)解析

    微信小程序 彈窗輸入組件的實(shí)現(xiàn)解析

    這篇文章主要介紹了微信小程序 彈窗輸入組件的實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 如何使用less實(shí)現(xiàn)隨機(jī)下雪動(dòng)畫(huà)詳解

    如何使用less實(shí)現(xiàn)隨機(jī)下雪動(dòng)畫(huà)詳解

    這篇文章主要給大家介紹了關(guān)于如何使用less實(shí)現(xiàn)隨機(jī)下雪動(dòng)畫(huà)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01

最新評(píng)論