jQuery查找并列出特定DIV中UL内的所有LI元素

时间:2011-08-18 03:09:06

标签: javascript jquery find children

我有3列UL,每个都是一个动态UL容器,可以容纳0到9个LI容器(最终更多)。我的所有LI元素都有一个属性“rel”,我试图最终找到该属性,并将其用于父DIV中所有LI元素的其他内容。我最终想要找到更多基于每个但不是至少的rel ..任何想法我如何用jQuery实现这一点?例如:

<ul id="column1">
   <li rel="1">Info</li>
   <li rel="2">Info</li>
   <li rel="3">Info</li>
</ul>
<ul id="column2">
   <li rel="4">Info</li>
   <li rel="5">Info</li>
   <li rel="6">Info</li>
</ul>
<ul id="column3">
   <li rel="7">Info</li>
   <li rel="8">Info</li>
   <li rel="9">Info</li>
</ul>

这些元素也可以排序。因此,当我得到它们的列表时,我还希望它们按照从每列的顶部到底部找到的顺序保存。

我尝试过find(),parent()和类似的东西,也许我接近它错了。但它仍然值得一提,以帮助提出一个想法

4 个答案:

答案 0 :(得分:38)

你在考虑这样的事吗?

$('ul li').each(function(i)
{
   $(this).attr('rel'); // This is your rel value
});

答案 1 :(得分:13)

var column1RelArray = [];
$('#column1 li').each(function(){
    column1RelArray.push($(this).attr('rel'));
});

或fp风格

var column1RelArray = $('#column1 li').map(function(){ 
    return $(this).attr('rel'); 
});

答案 2 :(得分:5)

$('li[rel=7]').siblings().andSelf();

// or:

$('li[rel=7]').parent().children();

现在你添加了那个解释你想要“形成每列rels数组”的评论,你应该这样做:

var rels = [];

$('ul').each(function() {
    var localRels = [];

    $(this).find('li').each(function(){
        localRels.push( $(this).attr('rel') );
    });

    rels.push(localRels);
});

答案 3 :(得分:2)

HTML

<ul class="answerList" id="oneAnswer">
    <li class="answer" value="false">info1</li>
    <li class="answer" value="false">info2</li>
    <li class="answer" value="false">info3</li>
</ul>   

获取索引,文本,值 JS

    $('#oneAnswer li').each(function (i) {

        var index = $(this).index();
        var text = $(this).text();
        var value = $(this).attr('value');
        alert('Index is: ' + index + ' and text is ' + text + ' and Value ' + value);
    });