0

兄弟のIDを取得しようとしています。

<ul>
    <li id="a1">a1</li>
    <li id="a2">a2</li>
    <li id="a3">a3</li>
    <li id="a4">a4</li>
</ul>

liの1つをクリックすると、コンマで区切られたすべての兄弟IDを選択したいと思います。元。#a2をクリックすると、#a1、#a3、#a4が表示されます。ありがとう。

4

4 に答える 4

4

使ってみてください.siblings

$('li').click(function () {
   var selEl = [];
   $(this).siblings().each(function (idx, el) {
       selEl.push('#' + el.id);
   });

    //.join would return you comma separated but 
    //if you want a space after comma then you need to pass .join(', ')
    console.log(selEl.join(', ')); //click on #a2 and get #a1, #a3, #a4
});

デモ:http: //jsfiddle.net/Lpw4u/1/

于 2012-10-18T20:52:51.600 に答える
1

兄弟を反復処理し、IDを配列に格納します。

$("ul li").click(function(){
    var s = $(this).siblings();
    var ids= [];
    s.each(function(){
       ids.push(this.id);
    });
});
 var commaSparatedIds = ids.join(',');
于 2012-10-18T20:51:50.107 に答える
0

これでうまくいくはずです:

$('li').on('click', function() {
    var ids = [];
    var self = this;
    $(this).siblings().each(function(){
        if(self != this)
            ids.push($(this).attr('id'));
    });

    alert(ids.join(','));
});​
于 2012-10-18T20:54:45.440 に答える
0
$('li[id^=a]').on('click', function() {
    alert($.makeArray(
      $(this).siblings()
         .map( function() {
           return $(this).attr('id'); 
         })
       ).join(', '));
});
于 2012-10-18T20:56:39.570 に答える