我正在尝试获取兄弟姐妹的 ID。
<ul>
<li id="a1">a1</li>
<li id="a2">a2</li>
<li id="a3">a3</li>
<li id="a4">a4</li>
</ul>
当我单击其中一个 li 时,我想选择所有用逗号分隔的兄弟 ID。前任。我单击#a2 并获得#a1、#a3、#a4。谢谢。
尝试使用.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/
遍历兄弟姐妹并将 id 存储在数组中。
$("ul li").click(function(){
var s = $(this).siblings();
var ids= [];
s.each(function(){
ids.push(this.id);
});
});
var commaSparatedIds = ids.join(',');
这应该可以解决问题:
$('li').on('click', function() {
var ids = [];
var self = this;
$(this).siblings().each(function(){
if(self != this)
ids.push($(this).attr('id'));
});
alert(ids.join(','));
});
$('li[id^=a]').on('click', function() {
alert($.makeArray(
$(this).siblings()
.map( function() {
return $(this).attr('id');
})
).join(', '));
});