2014-01-24 63 views
0

以下jQuery從XML數據創建變量並將其置於標記中。該變量可以在<button></button>之間使用,但是當我嘗試使用該變量爲value屬性(或其他任何事情)創建參數時,我不能。我的語法有什麼問題。變量XML作爲通過jQuery與jQuery進行屬性的參數

$.ajax({ 
    type: "GET", 
    url: "Administration/data/people.xml" 
    }).done(function (xml) { 
    $(xml).find('fullName').each(function() { 
    var fullName = $(this); 
    $('<button></button>').attr('value', fullName).html(fullName).appendTo('#loadMe'); 
    }); 
}).fail(function (response, error) { 
    $('#info').text('Error!!'); 
}); 

開發檢查顯示:

<button value="[object] [Object]"><childnode>fullName</childnode></button> 

但是,相反,我要的是:

<button value="fullName">fullName</button> 
+1

對象的默認字符串表示形式是'[object Object]',所以這就是你所看到的。 JavaScript不知道如何將對象表示爲字符串。你必須從中提取你想要的信息。簡化示例:'var obj = {foo:42};警報(OBJ);警報(obj.foo);'。 –

回答

2

試圖讓裏面的文字fullname代替:

var fullName = $(this).text(); 

目前,您的$(this)指向fullName這是一個object

+0

菲利克斯感謝一噸! XML字符串肯定不同於我習慣使用的服務器端生成的SQL數據字符串。我想''text()'方法也需要提取JSON嗎? – Jim22150

+0

@ Jim22150:這與JSON無關。 '.text'用於獲取DOM元素後代的聚合文本內容。 JSON被解析爲JS對象和數組,然後你只需訪問它們。如果您是JavaScript對象的新手,請查看http://stackoverflow.com/questions/11922383/access-process-nested-objects-arrays-or-json。 –

+0

[text()](http://api.jquery.com/text/)方法只是幫助您獲取標籤內的文本。爲了提取JSON,這很大程度上取決於你的JSON結構 – Felix