find() 用于多个结果

find() for multiple results

我正在使用 find 来 select inner

$(".pauseAnomaly[data-id=78]").parent().parent().prev().find(".pauseaction").each(function (i) {
                                pauseActionUI($(this).data("id"));
                            });

我想在 $(".pauseAnomaly[data-id=78]").parent().parent().prev().

中找到的每个 .pauseAction 上启动 .pauseAction

在这里,当有单个.pauseaction时它完美地工作但是当有多个.pauseaction时却没有,为什么?以及如何解决这个问题?

换句话说

当我做的时候

$(".pauseAnomaly[data-id=35]").parent().parent().prev().find(".pauseaction").each(function (i) {
                                alert($(this).data("id"));
                            });

哪里有一个.pauseaction,就returns一个id,有多个.pauseaction,就returns我[],但是我wound 喜欢查看所有 id 并将 funcito 应用于所有这些,为什么以及如何?

我认为find()只有returns一个元素,所以如果这是真的,我该如何改变才能拥有所有元素?

这是我 $(".pauseAnomaly[data-id=14]").parent().parent().prev()

时的代码
<table>
        <tr>
            <td style="border-top-width:0;padding-top:0;padding-left:0;padding-right:0;padding-bottom:0;">
                <table class="table table-striped" style="margin-bottom:0;">
                    <tbody>
                        <tr class="actionRow actionRow" data-id="9">
                            <td><span class="glyphicon spaceAfterIcon vorx late glyphicon-remove red" data-id="9"></span></td>
                            <td>TEXT</td>
                            <td>TEXT</td>
                            <td class="date" data-id="9">03/04/2015</td>
                            <td>SELECT</td>
                            <td><span class="glyphicon glyphicon-comment commentAction red" data-actiondescr="Reparer le chauffage (date de fin plann. depassée)" data-actionid="9" data-id="9"></span> | <span class="glyphicon glyphicon-pause red pauseAction" data-id="9"></span> <span class="closeActionButtons" data-id="9">| <span class="glyphicon glyphicon-ok-circle red closeOKAction" data-id="9"></span>/ <span class="glyphicon glyphicon-remove-circle red closeNOKAction" data-id="9"></span></span></td>
                        </tr>
                        <tr class="actionRow desactivatedColor actionRow" data-id="10">
                            <td><span class="glyphicon spaceAfterIcon vorx late" data-id="10"></span></td>
                            <td>TEXT</td>
                            <td>TEXT</td>
                            <td class="date" data-id="10">03/04/2015</td>
                            <td>SELECT</td>
                            <td><span class="glyphicon glyphicon-comment commentAction red" data-actiondescr="Installer un thermostat pour réguler le chauffage" data-actionid="10" data-id="10"></span> | <span class=" glyphicon glyphicon-play red playAction" data-id="10"></span> <span class="closeActionButtons" data-id="10" style="display:none;">| <span class="glyphicon glyphicon-ok-circle red closeOKAction" data-id="10"></span>/<span class="glyphicon glyphicon-remove-circle red closeNOKAction" data-id="10"></span></span></td>
                        </tr>

                        <tr class="actionRow actionRow" data-id="13">
                            <td><span class="glyphicon spaceAfterIcon vorx late glyphicon-remove red" data-id="13"></span></td>
                            <td>TEXT</td>
                            <td>TEXT</td>
                            <td class="date" data-id="13">27/03/2012</td>
                            <td>SELECT</td>
                            <td><span class="glyphicon glyphicon-comment commentAction red" data-actiondescr="Action closed" data-actionid="13" data-id="13"></span> | <span class=" glyphicon glyphicon-pause red pauseAction" data-id="13"></span> <span class="closeActionButtons" data-id="13">| <span class="glyphicon glyphicon-ok-circle red closeOKAction" data-id="13"></span>/ <span class="glyphicon glyphicon-remove-circle red closeNOKAction" data-id="13"></span></span></td>
                        </tr>
                    </tbody>
                </table>
            </td>
        </tr>
    </table>

你能试试你的每个函数吗:

$(this)[i].data('id')

如果不行试试:

$($(this)[i]).data('id')

我所做的是 select 您找到的元素,因为它是一个数组,您正在 select 循环中的特定索引

例如,如果 i = 2 在循环中,selector 看起来像:

$(this)[2].data('id')

return 数组中的第 3 个元素

问题出在选择器的大小写上,因为它需要 pauseAction 而不是 pauseaction。下面是一个澄清它的演示。

$("table").find(".pauseAction").each(function (i) {
    alert($(this).data("id"));
});

因此,您的代码将变为(前提是 .pauseAnomaly[data-id=14] 选择器存在!):

$(".pauseAnomaly[data-id=14]").parent().parent().prev().find(".pauseAction").each(function (i) {
    alert($(this).data("id"));
});

演示@Fiddle