2016-08-24 156 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