關(guān)于html動態(tài)添加元素jquery無效的信息
造成這個問題的原因,是因?yàn)閖query他的事件機(jī)制是當(dāng)頁面完全加載成功后,會根據(jù)所有目前頁面上符合要求的dom添加事件標(biāo)示,這樣當(dāng)你觸發(fā)事件的時候,擁有該事件標(biāo)示的DOM就會給予響應(yīng)但你這個append很可能是頁面加載完成后,再觸。
你的這個分兩種情況 1你的新數(shù)據(jù)是累加在舊數(shù)據(jù)上的 2你的新數(shù)據(jù)要覆蓋原來的數(shù)據(jù) 兩種類型都給你寫一下吧,解決如下 lt!DOCTYPE HTMLlthtmllthead lttitlePage Titlelttitle ltheadltbody lt。
function _delobj$objparentremove 接著調(diào)用這個方法需要這么寫你的點(diǎn)擊“增加”按鈕執(zhí)行的你現(xiàn)在寫的那個方法,里面有一個變量content,這個content應(yīng)該就是你的那個div的html代碼,刪除按鈕肯定也是寫在。
$ quotbuttonquotclick function bodyappend #39lta class=quotdetailsquot href=quot#quot詳情lta#39 動態(tài)插入的html,需要委派事件處理 bodydelegate #39details#39, #39click#39, function。
用原生JS來解釋,就是documentgetElementByIdquottextareaquotvalue和documentgetElementByIdquottextareaquotinnerHTML的區(qū)別兩者是不一樣的如果你不理解原理也沒關(guān)系,你想把一串字符串加入到textarea中,可以這么做var。
沒看到完全的代碼,但給個建議 html結(jié)構(gòu)先引入外部js 然后外部css 樣式 然后在head中寫style 本頁面的script放到body最后 加載順序問題。
1可能一你這個table里面的內(nèi)容是動態(tài)加載進(jìn)去的,如果在加載完畢之前 var obj=documentgetElementsByNamequotexceptionReasonIdquot是取不到值的,所以你先檢查是否是調(diào)用的先后問題2可能二documentgetElementsByName。
你只添加了控件,還沒有初始化,當(dāng)然是這樣的了lthtml lthead lttitlejQuery EasyUIlttitle ltlink rel=quotstylesheetquot type=quottextcssquot href=quotthemesdefaulteasyuicssquot ltlink rel=quotstylesheetquot type=quottext。
這個要用到“事件委托”,就是把動態(tài)添加的元素的事件委托給它的父元素非動態(tài)的去處理,這樣的話不管其子元素如果動態(tài)添加,都能捕捉其事件具體你自己百度“事件委托”或“事件代理”。
var txt3=documentcreateElementquotbigquot 通過 DOM 創(chuàng)建新元素 txt3innerHTML=quotjQuery!quotquotimgquotaftertxt1,txt2,txt3 在 img 之后插入新元素 參考資料jQuery 添加元素。
jQuery 參數(shù) type String 一個或多個用空格分隔的事件名 fn Function 欲綁定的事件處理函數(shù) 示例 點(diǎn)擊生成的p依然據(jù)有同樣的功能HTML 代碼ltpClick me!ltp jQuery 代碼quotpquotlivequotclickquot。
jquery 文檔操作提供了 wrap 方法用以將每個被選元素放置在指定的 html 內(nèi)容或元素中,從而實(shí)現(xiàn)為指定元素添加父元素的效果類似地,unwrap 方法刪除被選元素的父元素1基本語法 selectorwrapwrapper參數(shù)說明。
jquery中有一個叫l(wèi)ive的方法jQuery 給所有匹配的元素附加一個事件處理函數(shù),即使這個元素是以后再添加進(jìn)來的也有效。
這就是“為未來元素添加事件”的方法了,jquery里為未來元素添加事件的原理很簡單,既然這個元素是未來的,那么我們可以把事件綁定在已經(jīng)存在的元素上,然后在發(fā)生點(diǎn)擊的時候,再來判斷所點(diǎn)擊的對象,是否為我們要的對象,然后再。
2,我用jquery動態(tài)填充tbody下的內(nèi)容代碼如下 復(fù)制代碼 代碼如下quot#pending table tbodyquotemptyappendthappendhtml這段代碼在ie7及以下ie版本會有問題,jquery無法通過#pending table tbody 找到正確的dom位置。
請檢查一下是不是使用 createElement創(chuàng)建了這個標(biāo)簽,但是并沒有使用appendChild等方法將這些標(biāo)簽添加到DOM樹當(dāng)中。
首先添加按鈕的語句好像里面的HTML閉合有問題,但這不是導(dǎo)致問題的原因 應(yīng)該先添加后綁定事件,你的順序是不是反了比如這樣寫應(yīng)該就可以了 quotltliquotcssfloatquotrightquot,width8appendquotltinput type=#39button#39。
quot#tabquotappendtrHTML在table最后面添加一行 quot#tab treq2quotaftertrHTML 在table的第3行后面添加一行 這樣就可以進(jìn)行動態(tài)的添加行了,至于你是通過什么事件來動態(tài)添加那就看你自己的意思了。
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。