将Ajax回调数据转换为JQuery对象

时间:2014-03-25 23:02:28

标签: javascript jquery ajax

我的代码正在执行一个AJAX调用,该调用在一个简单的字符串中返回一个或多个<li>元素...该函数需要返回一个JQuery对象。我希望能够通过将字符串数据视为JQuery对象来遍历数据字符串中的每个<li>元素。如何将这个简单的字符串转换为有效的JQuery对象?

ondata函数的数据参数包含如下所示的简单字符串内容:

<li title="ID: 2" id="abc" rel="departmentgroup" class="closed"><a href="#" class="xxx" ><ins class="departmentgroup">&nbsp;</ins>Hierarchy(8)</a></li> <li title="ID: 3" id="def" rel="departmentgroup" class="closed"><a href="#" class="xxx" ><ins class="departmentgroup">&nbsp;</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);
}

1 个答案:

答案 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'))
})

});