2016-08-24 207 views
2

我有jQuery中下面的代碼中,我試圖父span標籤下添加一個孩子:如何在jquery中的另一個span標籤內添加span標籤?

jQuery的

var branchName = $(this).closest('tr').find('#adjNcmcompanyNameId').text(); 
var branchId = $(this).closest('tr').find('#adjNCMBranchIdForSearch').text(); 
var branchRecord = $(this).parents().find('#resultsection'); 
branchRecordSpan = ("<span class='multiselectContainer'></span>"); 
branchRecordSpan.append("<span class='indivSelectedText'>" + branchName + "</span>"); 
branchRecordSpan.append("<input class='indivSelectedValue' type='hidden' value=" + branchId + ">"); 
branchRecordSpan.append("<strong class='alert-pink'><i class='fa fa-chevron-left fa-lg'></i></strong>"); 
branchRecordSpan.append("</span>"); 
branchRecordSpan.append("<br/>"); 

HTML,我試圖讓

<div id="resultsection"> 
    <span class="multiselectContainer" id= 
    "c85a47e3-40c0-48e1-95f0-89dd761dbb56"><span class= 
    "indivSelectedText">MY BRANCH</span> <input class="indivSelectedValue" 
    type="hidden" value="183424"> <strong class="alert-warning"><i class= 
    "fa fa-chevron-left fa-lg"></i> <i class="fa fa-database"></i> 
    ,DATAHUB/ 8683403</strong> <a class="fa fa-times-circle labelclose" 
    href="#"></a></span><br> 
</div> 

因爲所有的內容都在multiselectContainer span class下,所以我試圖ge動態使用附加nerate html,我失敗了。 當我嘗試追加branchRecordSpan時,它會拋出錯誤,因爲它不是函數。我無法爲「multiserleccontainer」跨班級創建孩子。

如何在另一個span標籤下動態創建span標籤?請幫忙。

+1

['insertAfter'(http://api.jquery.com/insertafter/)? – Scott

回答

1

分階段進行。

x = $('<span>parent span</span>'); 
x.append('<span>new child span</span>'); 

someparent.append(x); 

,或直接做到這一點:

x = $('<span>parent<span>child</span></span>'); 

第二個選項通常更有效的是。每當DOM發生某種事情時,都會有相當數量的後臺工作來解析/修改/重新渲染/等等......一般來說,最好將html構建爲字符串,然後將其插入DOM中,而不是將其插入一個大塊中比一系列較小的塊。

+0

你救了我的一天。這只是一件小事。非常感謝你 – Yash

1

你忘了這裏是美元符號:

branchRecordSpan = ("<span class='multiselectContainer'></span>"); 
+0

謝謝..我注意到... – Yash