查找()多个结果

时间:2015-05-22 08:45:51

标签: javascript jquery each

我使用find作为选择内部

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

我想在.pauseAction

中找到的每个.pauseAction上发布$(".pauseAnomaly[data-id=78]").parent().parent().prev().

在这里,单个.pauseaction时效果很好但有多个.pauseaction时没有,为什么?以及如何解决这个问题?

换句话说

当我这样做时

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

如果有一个.pauseaction,则会返回一个ID,但是当有多个.pauseaction时,它会返回[],但我想要查看所有ID {s}并将funcito应用于所有这些,为什么以及如何?

我认为find()只返回一个元素,所以如果它是真的,我怎么能做出改变才能拥有所有元素?

以下是我$(".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>

2 个答案:

答案 0 :(得分:1)

问题在于选择器的情况,因为它需要page.find('#submit').click 而不是pauseAction。下面是一个澄清它的演示。

pauseaction

因此,您的代码将成为(提供$("table").find(".pauseAction").each(function (i) { alert($(this).data("id")); }); 选择器存在!):

.pauseAnomaly[data-id=14]

演示@ Fiddle

答案 1 :(得分:0)

你可以试试你的每个功能:

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

如果不起作用,请尝试:

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

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

例如,如果循环中i = 2,则选择器将如下所示:

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

将返回该数组中的3个元素