鍍金池/ 問答/HTML/ 怎樣在$(“html片段”)生成的片段中,尋找元素,并添加子元素?

怎樣在$(“html片段”)生成的片段中,尋找元素,并添加子元素?

/*************   此處代碼是精簡過后的,這是主要結(jié)構(gòu)  *************/

var addLineHtml = '',//要插入的字段
    //task數(shù)組
    taskDetail = [1,2,3]
    //控制按鈕HTML
    controlIconHtml = '<span class="fa fa-plus"></span>';
$.each(taskDetail,function(i,n){
    addLineHtml +=
        '<div class="form-group">' +
        '    <div class="col-sm-2 operate-icon-box">' +
        '    </div>' +
        '</div>';
});
//為addLineHtml最后一個元素添加子元素
//嘗試的方法:
$(addLineHtml).find('.operate-icon-box').last().html(controlIconHtml);
//插入到#nta-appro-list容器中
$("#nta-appro-list").append(addLineHtml);

我就是在實現(xiàn)動態(tài)生成列表時,為最后一個元素添加一個子元素,這種方法嘗試過,貌似不可行,不知道問題出在哪里,是不是方法有問題?
我想把html一次性生成再加載到頁面,有沒有大神幫忙看下有沒有別的什么方法實現(xiàn)?(請不要用正則查找字符串再插入的辦法);

ps:我這個肯定是實現(xiàn)不了,所以才來請教大神們,大家伙不用給我這個代碼找錯,幫忙給個實現(xiàn)的方法

回答
編輯回答
怪痞

find查的是dom上的內(nèi)容,你的addLineHtml只是在內(nèi)存里沒在dom上.
另外建議問題表述還是需要條理一些


我只能說

var ul = $("<div>");
ul.append($("<div>123</div>"));
$('body').append(ul);

是可以的;

var ul = "<div>";
$(ul).append($("<div>123</div>"));
$('body').append(ul);

是不行的.

2017年2月27日 05:43
編輯回答
汐顏

代碼改了下。不過話說其實原代碼最后兩行換下位置再改改邏輯其實也行誒……

var addLineHtml = '',
    taskDetail = [1,2,3];

$.each(taskDetail,function(i,n){
    var controlIconHtml = i==3?'<span class="fa fa-plus"></span>':'';
    addLineHtml +=
        '<div class="form-group">' + 
            ' <div class="col-sm-2 operate-icon-box">'+controlIconHtml + ' </div>' + 
        '</div>';
}); 

$("#nta-appro-list").append(addLineHtml);

我給個思路,你先new個DocumentFragment出來,然后用$包裝下,把所有東西都掛到這個上邊,然后該咋操作咋操作,最后append到頁面里試試~

2018年6月21日 19:29
編輯回答
骨殘心

我的天哪 你都沒加到dom里就用 jq的dom查找么? 看你描述好頭疼

2017年4月8日 03:21
編輯回答
兮顏
$(document).ready(function(){
  for (var addLineHtml = '', i = 1; i < 4; i++) {
    addLineHtml +=
        '<div class="form-group">' +
        '    <div class="col-sm-2 operate-icon-box">' + i +
        '    </div>' +
        '</div>';
  }
  var sDataHtml = '<span style="color:lime;">添加數(shù)據(jù)</span>',
  $_form = $(addLineHtml).last().find('.operate-icon-box:last').html(sDataHtml).end().end();
  $('body').append($_form); // 感覺是這樣子把?
});
2017年11月4日 06:00