2011-06-27 51 views
0

無論我嘗試什麼,Jquery似乎都無法將str2的類型轉換爲字符串。jquery:將[object對象]附加到字符串

function parseXml(xml) 
{ 
     $(xml).find("product").each(function() 
     { 

      var str1 = "div.timer"; 
      var **str2** = $(this).find("id"); 


      $("div.timer17").html(str1 + str2); 
     }); 
} 

每次該功能跑,的div.timer17變化div.timer [對象的對象]內容。

我試圖將對象對象轉換爲一個字符串與新的字符串(OBJ),與json.stringify等沒有工作。請幫忙。

我的目標是追加str2到str1,所以我可以得到想要的選擇器(例如,div.timer25)。

這裏的XML:

<?xml version="1.0" encoding="utf-8" ?> 
<products> 
<product cookie="The red"> 
    <timediff>02:28:59</timediff> 
    <username>denis</username> 
    <price>25</price> 
    <id>17</id> 
</product> 

<product cookie="The red"> 
    <timediff>00:28:59</timediff> 
    <username>denis</username> 
    <price>35</price> 
    <id>18</id> 
</product> 
</products> 

回答

5

假設你想要的texthtml我想你想這

var str2 = $(this).find("id").text(); 

var str2 = $(this).find("id").html(); 
+0

固定它......上帝我不能相信我花了這麼多時間。謝謝。 – Tool

+0

不用擔心......我和別的人在同一點,所以我想通過幫助別人,我感覺更好。 – NullRef

1

$(this).find("id")返回一個對象,這是爲什麼它正在打印[object Object]。這是一個jQuery對象,它不能只是變成一個字符串,因爲應該打印出什麼?

如果你想從該節點的文字,試試這個:

var str2 = $(this).find("id").html(); 
1

你的變量STR2是一個jQuery objecy,它不是一個字符串。你在尋找迭代的XML節點的id屬性嗎?

function parseXml(xml) 
{ 
    $(xml).find("product").each(function() {  
    var str1 = "div.timer"; 
    var str2 = this.id; 
    $("div.timer17").html(str1 + str2); 
    }); 
} 
1

我相信一旦你找到每一個「產品」,你可以把它們作爲一個對象並調用類似$(本).ID。 。

$(XML).find( 「產物」)的每個(函數() {

var str1 = "div.timer"; 
    var **str2** = $(this).id; 


    $("div.timer17").html(str1 + str2); 

});

如果你使用firefox和firebug,把對象放在console.info(someobject)中;它通常會將對象串起來。

+0

它的$ this0.id或this.id. –