Jquery 按第一个属性对元素进行分组

Jquery 按第一个属性对元素进行分组,jquery,jquery-selectors,Jquery,Jquery Selectors,如何显示由第一个atribute分组的第二个属性元素的警报,例如: <a href="#b" attA=1 attB=18 >Here</a> <a href="#b" attA=1 attB=27>Here</a> <a href="#b" attA=1 attB=31>Here</a> <a href="#b" attA=2 attB=84>Here</a> 并点击attB: alert("at

如何显示由第一个atribute分组的第二个属性元素的警报,例如:

<a href="#b" attA=1 attB=18 >Here</a>
<a href="#b" attA=1 attB=27>Here</a>
<a href="#b" attA=1 attB=31>Here</a>
<a href="#b" attA=2 attB=84>Here</a>
并点击attB:

alert("atta=2 and attB=84");
很难,不是吗

$('a').click(function() {
    var attA = $(this).attr('attA'),
        attB = $.map($('a'), function(link){
            if($(link).attr('attA') == attA) {
                return $(link).attr('attB');
            }
        });

    alert('atta=' + attA + ' and attB=' + attB.join(','));
});
attA不是有效的属性,您可以使用data-*属性。请注意,您应该用引号将值括起来

<a href="#b" data-atta='1' data-attb='18'>Here</a>
<a href="#b" data-atta='1' data-attb='27'>Here</a>
<a href="#b" data-atta='1' data-attb='31'>Here</a>
<a href="#b" data-atta='2' data-attb='84'>Here</a>
attA不是有效的属性,您可以使用data-*属性。请注意,您应该用引号将值括起来

<a href="#b" data-atta='1' data-attb='18'>Here</a>
<a href="#b" data-atta='1' data-attb='27'>Here</a>
<a href="#b" data-atta='1' data-attb='31'>Here</a>
<a href="#b" data-atta='2' data-attb='84'>Here</a>

你必须知道链接是否不是这样的吗?与其他没有属性的链接一样,只有class=aclass调用此警报您是否必须知道该链接是否不是此链接?与其他没有属性的链接一样,只有class=aclass调用此警报
$('a').click(function() {
    var a = this.dataset.atta;
    var b = $('a[data-atta='+a+']').map(function() {
        return this.dataset.attb
    }).get().join();
    alert('atta: ' + a + ", attb=" + b)
})​
$(function() {
    $('a').on('click', function(e) {
        e.preventDefault();
        var $attA = $(this).attr('attA');
        var $attB = $('a[attA="'+ $attA +'"]');
        var arr = [];
        $.each($attB, function(){

             arr.push( $(this).attr('attB'));
        });
        alert('attA - ' + $attA + ' :: attB - '+ arr.join());        
    });
});​