获取$('div')中的最后一项.the each()

WAC*_*020 2 javascript each jquery function

我正在使用jquery和每个函数,但我找不到ul列表中的最后一项.

数据:

<ul id="1">
     <li>1</li>
     <li>2</li>
     <li>3</li>
</ul>
<ul id="2">
     <li>1</li>
     <li>2</li>
     <li>3</li>
</ul>
<ul id="3">
     <li>1</li>
     <li>2</li>
     <li>3</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我尝试了很多东西但没有做任何我想做的事情.这是我试过的.

var test = '{';
for (i = 1; i <= 3; i++) {
     test += i+':{';
     $('#'+i+' li').each(function(index,e){
          test += $(this).attr('id');

          // THIS IS THE PROBLEM AREA START
          if(index != $('#'+i).last()){
               test += ',';
          }
          // PROBLEM AREA END

     });
     test += '}';
     if(i != 3){
          test += ',';
     }
}
test += '}';
alert(test);
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用"$('#'+ i +':last')"但这并没有使用它.

我想要的输出是:

{1:{1,2,3},2:{1,2,3},3:{1,2,3}}
Run Code Online (Sandbox Code Playgroud)

jwu*_*ler 5

您试图选择最后一个元素进行匹配一套(其中只包括了你的ul,而不是它的孩子(这是li元素)).您需要对当前选择的子项执行此操作:

$('#'+i).children('li').last()
Run Code Online (Sandbox Code Playgroud)

或(作为选择器):

$('#'+i+' > li:last')
Run Code Online (Sandbox Code Playgroud)