我的代码正在执行一个AJAX调用,该调用在一个简单的字符串中返回一个或多个<li>
元素...该函数需要返回一个JQuery对象。我希望能够通过将字符串数据视为JQuery对象来遍历数据字符串中的每个<li>
元素。如何将这个简单的字符串转换为有效的JQuery对象?
ondata函数的数据参数包含如下所示的简单字符串内容:
<li title="ID: 2" id="abc" rel="departmentgroup" class="closed"><a href="#" class="xxx" ><ins class="departmentgroup"> </ins>Hierarchy(8)</a></li> <li title="ID: 3" id="def" rel="departmentgroup" class="closed"><a href="#" class="xxx" ><ins class="departmentgroup"> </ins>Floating(62)</a></li>
在下面的代码中,我试图.clone()这个数据,但是这个语句错误,因为数据不是JQuery对象......我需要它。
ondata: function(data, tree){
newData = $(data).clone();
$.each($(newData).find("a"), function(i, item){
if ($('#' + $(item).attr("rel") + '-Path').length > 0) {
$(item).children('ins').attr("connected", "true");
$(item).children('ins').attr("class", "tick");
}
$("#relational-tree").data('loaded', 'true');
});
return $(newData);
}
答案 0 :(得分:0)
$(data)确实返回一个jquery对象。不确定为什么要克隆它...这是一个例子http://jsfiddle.net/parit/n2t2X/
$(document).ready(function () {
var a = $('<li title="ID: 2" id="abc" rel="departmentgroup" class="closed"><a href="#" class="xxx" >Hierarchy(8)</a></li><li title="ID: 3" id="def" rel="departmentgroup" class="closed"><a href="#" class="xxx" >Floating(62)</a></li>')
$.each(a, function (index, element) {
alert($(element).attr('title'))
})
});