javascript - find() 用于多个结果

标签 javascript jquery each

我正在使用 find 来选择内部

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

我想在 $(".pauseAnomaly[data-id=78]").parent() 中找到的每个 .pauseAction 上启动 .pauseAction .parent().prev().

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

换句话说

当我这样做

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

如果有一个.pauseaction,它返回一个id,但是当有多个.pauseaction时,它返回我[],但我很想看到所有的 id 并将 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>

最佳答案

问题出在选择器的大小写上,因为它需要是 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

关于javascript - find() 用于多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30392204/

相关文章:

JavaScript 循环内触发事件

javascript - 如何获取按钮点击事件的图像?

javascript - 打字机功能

jquery - 使用可扩展框制作网格

javascript - 获取某行checkbox选中值对应的label值

jQuery 仅向一个 anchor 而不是所有 anchor 添加类

javascript - 混洗嵌套数组的不同部分

javascript - 在 Javascript 中使用 try-catch-finally block 捕获 JSON 解析异常不起作用

javascript - 如何在jquery中将文本设置为td

javascript - 提交表单不起作用