2014-03-25 17 views
0

我的代碼是做一個AJAX調用返回一個簡單的字符串的一個或多個<li>元素...函數需要返回一個jQuery對象。我希望能夠通過將字符串數據視爲JQuery對象來遍歷數據字符串中的每個<li>元素。我怎樣才能將這個簡單的字符串轉換成有效的JQuery對象?轉換Ajax回調數據到jQuery對象

的昂達函數的數據參數包含簡單的字符串的內容看起來像這樣:

<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()這個數據的代碼,但該語句錯誤,因爲數據ISN」一個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

這應該工作,如果你測試這個 「$( '

  • sfsdfsdf
  • ').clone()」,它工作正常。你能分享你在'數據'變量中接收到的字符串嗎? ...嘗試這也$(' Hierarchy(8) Floating(62)「).clone(),它工作正常。 – HamidRaza

    +0

    @HamidRaza嗯,我分享它上面......你已經在你的例子中使用它...我想我只是想弄清楚引用數據變量的正確方法。我的代碼的語句newData = $(data).clone();導致jquery.js拋出一個「無法識別的表達式」錯誤,其中數據變量的內容被列爲語法錯誤。 newData = data.clone();返回錯誤「data.clone()不是一個函數」 – pter

    +0

    嘗試是這樣的:http://jsfiddle.net/hamidlab/XaqV3/ .... – HamidRaza

    回答

    0

    $(data)does return a jquery object。不知道爲什麼你要克隆它...這裏是一個例子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')) 
    }) 
    

    });