迭代每个兄弟元素

Joe*_*hew 12 javascript jquery class selector

上下文: 我正在构建一个表单和脚本,它将基于单击特定按钮执行ajax查询.有多个div块具有相同类的元素,并且基于div块,其中单击一个按钮,将处理不同的表单.

作为开始该程序的一部分,我开始使用一个看似简单的jQuery调用.

我正在尝试将onclick事件添加到特定类,然后尝试获取该元素的兄弟姐妹的CSS值.

错误: 我收到一条错误说明TypeError: this.siblings is undefined.

问题:使用jQuery迭代元素的兄弟姐妹的正确方法是什么?

我的代码:

HTML:

<a class="btn LiveStatsBtn"><span class="btn-label">Get Stats now</span> </a>
Run Code Online (Sandbox Code Playgroud)

JavaScript的:

$(document).ready (function()
{ 
    $('.LiveStatsBtn').click(function(){
        this.siblings.each( function () {
            var tx=this.css();
            alert(tx);
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

Poi*_*nty 21

在jQuery事件处理程序中,this引用DOM元素,而不是jQuery对象.你必须把它包装成一个:

$(this).siblings().each(function() {
  // ...
});
Run Code Online (Sandbox Code Playgroud)

还要注意"兄弟姐妹"是一个函数,所以你必须调用它来获取一个包装元素兄弟的新jQuery对象.