2016-01-07 76 views
0

我有这个XML文件:获取XML中的元素的元素的数量与jQuery

<row> 
    <question name="faq"></question> 
    <answer name="faq"></answer> 
    <question_down name="faq"></question_down> 
    <answer_down name="faq"></answer_down> 
    <question_down name="faq"></question_down> 
    <answer_down name="faq"></answer_down> 
    <question_down name="faq"></question_down> 
    <answer_down name="faq"></answer_down> 
</row> 

我想知道有多少<question_down>元素具有内<row>, 我怎么可以这样使用jQuery或纯粹的JavaScript?

回答

0

您可以使用jQuery的find函数获取当前所选内容中与传递给它的选择器匹配的所有元素的数组。因此,通过选择'row'元素,然后'查找'其中的所有'question_down'元素,您将获得所有question_down元素的数组,您可以使用javascript的长度函数来计算这些元素。

像这样: -

num_question_downs = $("row").find("question_down").length; 
+0

这并不提供答案的问题。要批评或要求作者澄清,请在其帖子下方留言。 - [来自评论](/评论/低质量帖/ 10811080) –

+0

您好,我没有得到答案...我有很多“行”如何获得特定行内的“gestion_down”数量? –

+1

这是使用jQuery计算行元素内的question_down标记。如果你有多行,那么你需要首先找到该行(也许使用$(“row”)。eq(x).find(“question_down”)。length其中x是你感兴趣的行索引? - 你是例子xml只显示一行! –

0

您可以使用jQuery的.find()方法在这里找到另一元素中的特定元素。在这里,你想找到<question_down><row>

question_down_num = $("row") //any <row> element 
 
    .find("question_down")  //find any element called <question_down> in that <row> 
 
    .length;      //find the length of the <question_down> array, 
 
            //i.e. how many <question_down> elements exist in <row> 
 
document.write(question_down_num);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<row> 
 
    <question name="faq"> </question> 
 
    <answer name="faq"></answer> 
 
    <question_down name="faq"></question_down> 
 
    <answer_down name="faq"></answer_down> 
 
    <question_down name="faq"></question_down> 
 
    <answer_down name="faq"></answer_down> 
 
    <question_down name="faq"></question_down> 
 
    <answer_down name="faq"></answer_down> 
 
</row>