我的xml:
<stuffs>
<unit id="code">10</unit>
</stuffs>
我的jquery ajax:
$.ajax({
type: "POST",
url: "xml/test.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('stuffs').each(function(){
... the code are here ...
});
}
我正在尝试使用ID获取<unit>
的值:
var unit = $(this).find('unit').attr('id');
var unitIdVal = $("#"+unit).text();
alert(unitIdVal);
但是,他找不到任何东西。
我不知道是否与comun jquery的东西相同 因为我尝试使用
直接获取值var unitIdVal = $("#code").text();
但是,没有了。
TY
答案 0 :(得分:1)
问题是$("#code").text();
在html文档中查找id。
$("#code", xmlDoc).text();
应该有用。
答案 1 :(得分:1)
上面的选择器内容至少可以说是难以理解的。你从一个元素中获取了ID,然后再通过ID获取该元素,所有这些都在一个对你无能为力的循环中......
这是它需要的:
var unit = $(this).find('unit').attr('id');
var unitIdVal = $("#"+unit, xml).text(); //provide context to your selector
虽然写这篇文章我觉得很脏,但我希望它会在不同的环境中使用,这只是说明性的。
这是它应该是什么。请注意,缺少选择与ID相同的元素:
//....
success: function(xml) {
var unitIdVal = $(xml).find('unit').text();
}
//....
请彻底阅读一些helpful tutorials on XML parsing。