Javascript jquery选择给定同级状态的子元素

Javascript jquery选择给定同级状态的子元素,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,给定一个html,例如: <ul id="timesheetList"> <li> <table> <tbody> <tr> <td> <input type="checkbox" class="bigchec

给定一个html,例如:

<ul id="timesheetList">                                              
<li>
    <table>
        <tbody>
            <tr>
                <td>
                    <input type="checkbox" class="bigcheck">
                </td>
                <td>
                    <p class="hiddenId">73</p>
                </td>
            </tr>
        </tbody>
    </table>
</li>
<li>
    <table>
        <tbody>
            <tr>
                <td>
                    <input type="checkbox" class="bigcheck">
                </td>
                <td>
                    <p class="hiddenId">44</p>
                </td>
            </tr>
        </tbody>
    </table>
</li>
    <!-- the list goes on... -->
  • 73

  • 44

我如何为所有类别为“bigcheck”的“checked”(其状态为checked)复选框选择所有ID(在本例中为44和73)


谢谢

您可以使用以下内容:

var tds = $('td p.hiddenId').filter(function() {
    return $(this).parent().prev().children('input.bigcheck:checked').length != 0;
});
// tds contains the list of TDs matching your criteria
  • 首先,选中所有复选框。你可以用

    $(“输入:复选框[名称=类型]:选中”)。每个(函数(){

    }))

  • 然后,您需要使用parentNode()到达TD
  • 然后,使用nextSibling()到达下一个TD
  • 然后,TD.childNodes[1].innerHTML将给出结果
  • 注意:如果您使用这种方法,那么您的结构应该保持不变。

    尝试以下方法:

    var ids = [];
    $("td > input.bigcheck:checked").each(function() {
        ids.push($(this).parent().next("td").children("p").text());
    });
    console.log(ids);
    

    你应该等待可能为你提供一个有效的完整解决方案的答案,而不是接受一些仅仅是指导的东西

    我认为在你需要问这个问题之前,你的逻辑可能有很多更紧迫的问题。页面上没有初学者的ID。只需使用hiddenId类的p标记。它们是完全不同的两件事。是的,我需要这些段落,我可以把它们计算出来,把ID放进去。