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

chr*_*ris 26 javascript jquery children find

我有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>
Run Code Online (Sandbox Code Playgroud)

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

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

pix*_*eak 42

你在想这样的事吗?

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


Fre*_*all 14

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

或者fp风格

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


Jos*_*ber 5

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

// or:

$('li[rel=7]').parent().children();
Run Code Online (Sandbox Code Playgroud)

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

var rels = [];

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

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

    rels.push(localRels);
});
Run Code Online (Sandbox Code Playgroud)


Ahm*_*deh 5

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>   
Run Code Online (Sandbox Code Playgroud)

获取索引、文本、值 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);
    });
Run Code Online (Sandbox Code Playgroud)