使用javascript和Jquery解析Div

使用javascript和Jquery解析Div,javascript,jquery,parsing,jquery-selectors,Javascript,Jquery,Parsing,Jquery Selectors,我有一个div'rank',它包含另一个div'line',它本身包含两个div'name'和'value'。我想用Javascript和jQuery使用散列检索3个名字和值,但不知道该怎么做。我正在考虑使用一个循环并在检查了3个第一行之后销毁其他div,但我不知道之后该怎么做,而且这个解决方案不是很有效 <div id='rank'> <div class="line"><div class="name">1.&nbspmanone</div&

我有一个div'rank',它包含另一个div'line',它本身包含两个div'name'和'value'。我想用Javascript和jQuery使用散列检索3个名字和值,但不知道该怎么做。我正在考虑使用一个循环并在检查了3个第一行之后销毁其他div,但我不知道之后该怎么做,而且这个解决方案不是很有效

<div id='rank'>
<div class="line"><div class="name">1.&nbspmanone</div><div class="value">35</div></div>    
<div class="line"><div class="name">2.&nbspmantwo</div><div class="value">32</div></div>
<div class="line"><div class="name">3.&nbspmanthree</div><div class="value">30</div></div>
<div class="line"><div class="name">4.&nbspmanfour</div><div class="value">29</div>
</div><div class="line"><div class="name">5.&nbspmanfive</div><div class="value">25</div></div>
<div class="line"><div class="name">6.&nbspmansix</div><div class="value">24</div></div><div class="line"><div class="name">7.&nbspmanseven</div><div class="value">21</div></div><div class="line"><div class="name">8.&nbspmannine</div></div>
</div>

1 manone35
2 mantwo32
3. manthree30
4 manfour29
5 manfive25
6. mansix247. manseven218. mannine

您需要使用jQuery查找前三行,然后构建名称和值div文本的javascript对象(散列):

$('#getTopThree').on('click', function(e) {
    var result = {}; //name and value will be placed in this object

    $('#rank .line:lt(3)').each(function() { //for each of the first three line divs
        var that = $(this);
        result[that.find('.name').text()] = that.find('.value').text(); //add name and value to result object
    });

    $('#result').text(JSON.stringify(result)); //print result for debugging
});

在div class.line中并非所有的div都带有class=“name”。如果是这样,那是我的错,这只是一个简单的例子来说明我的问题:)@sidney很棒!很乐意帮忙!不要忘记接受这一正确答案,以便其他访问该问题的人能够找到解决方案:)但是我不知道您代码中的某些内容…->。线路:lt(3);那=$his();结果[that.find('.name').text()]=that.find('.value').text();如果我理解的话,那么line:lt(3)是一个循环,用于解析前3行var,它=$this;实例化一个新的哈希?在变量中设置的下一条车道的名称和值对吗?当然,我接受答案lol但我不能Stackoverflow不允许我在不到3分钟内接受^^@sidney
。line:lt(3)
查找类行的前3个元素。您可以在此处阅读关于lt()pseudselector的信息:。var
that=$(this)
创建一个名为
的新变量,该变量引用当前元素周围的jQuery包装。这将节省两次创建包装器的工作。我建议你阅读一些基本的javascript教程来帮助你理解语法。我掌握了用javascript做很多事情的正确逻辑,但没有编写像你这样简单代码的技巧。非常感谢,我一定会看的~