使用jquery遍历ROWS

时间:2014-12-03 08:31:23

标签: jquery traversal

我在网页中动态生成了行,如下所示(通过数据视图webpart / sharepoint) enter image description here

我在所有TR元素中都有一个单选按钮,其中CLASS = ROWSALL。

我需要遍历直到ID不等于group1

因此,点击突出显示的行中的RADIO按钮,我需要计算在此行可用之前有多少行,直到ID = GROUP1(在这种情况下为3)

enter image description here

我可以通过使用this.CLOSEST('。rowsALL')来到单选按钮TR,但是如何遍历这三个TR元素? (三个不是固定数,TR与ID group1之间可以有任意数量的TR)

请帮忙。

编辑:我知道我们不应该有相同的ID,但这是由sharepoint dataview webpart自动生成的,我们没有控制权。我应该尝试一些建议并更新答案。

3 个答案:

答案 0 :(得分:1)

您可以尝试类似

的内容
$('input[type="radio"]').on('change', function() {
    var $parent = $(this).parents('tr').eq(0),
        $siblings = $parent.prevUntil('tr#group1');
        // or $siblings = $parent.siblings('.rowsAll:visible');
    console.log($siblings.length);
});

答案 1 :(得分:0)

不应对不同的元素使用相同的id。相反,你应该使用类。 由于您的收音机在tr内,您必须使用专利然后使用prev直到找到group1类的tr看这个

http://api.jquery.com/prev/

答案 2 :(得分:0)

首先,我建议您通过对元素使用唯一的类名来使用不同的方法,因为您多次使用id。

首先得到号码。当元素的id为'group1'时,将行数减1,然后在.each函数中包含此代码。你会得到号码。行直到id'group1'