抱歉jquery ajax xml 101问题......
我有两个问题:
1)计算<RESULTS>
内的子节点。在这种情况下,只有元素恰好被称为OBS。我想知道这样做的jquery方法。我用长手javascript。
2)您能否告知访问这些计数的首选方法(读下)。
XML文件看起来像这样......
<TABLE>
<RESULTS>
<OBS>..</OBS>
</RESULTS>
<RESULTS>
<OBS>..</OBS>
</RESULTS>
</TABLE>
返回了2 <RESULTS>
和1个子<OBS>
。
我已经满载......
长手Javascript:
var items = request.responseXML.getElementsByTagName('RESULTS');
console.log("child Element Count= ",items[0].childElementCount); // will return 1 = OBS
console.log("nodes Count= ",items.length); // will return 2 =RESULTS
所以我们对此很好,但是用jquery。
短手Jquery:
var count=$(result).find("RESULTS").size();
var countLength=$(result).find("RESULTS").length;
两者都将返回“2”。
如何计算子元素的数量?在这种情况下,答案是1,因为只有<OBS>
提前致谢。
答案 0 :(得分:3)
$(result).find("RESULTS").length
计算<RESULTS>
个元素的数量。您正在寻找第一个<RESULTS>
元素中的子元素数量:
var count = $(result).find('RESULTS').first().children().length;
答案 1 :(得分:0)
我不完全确定你在问什么,但我会展示一些可能让你前进的例子:
// original XML string
var xml = '<TABLE><RESULTS><OBS>..</OBS></RESULTS><RESULTS><OBS>..</OBS></RESULTS></TABLE>';
// XMl -> jQuery object
var $xml = $($.parseXML(xml));
// Total item counts
var numberOfResults = $xml.find('RESULTS').size();
console.log(numberOfResults); // output: 2
var numberOfObs = $xml.find('RESULTS>OBS').size();
console.log(numberOfObs); // output: 2
// item count specific to the first <RESULTS> node:
var $firstResultsNode = $xml.find('RESULTS').first();
var numberOfObs = $firstResultsNode.children('OBS').size();
console.log(numberOfObs); // output: 1
答案 2 :(得分:0)
为什么不试试这个
$("RESULTS:first-child").children().length