首页 > 解决方案 > 淘汰赛绑定后如何访问DOM元素?

问题描述

我想在敲除绑定后访问 DOM 元素。我想访问 tr:first-child

怎么访问??请帮我

  $("#account_tab_m2005 table tbody tr:first-child td .popOver").click(function(){
        alert("a");
        $(this).css('z-index',11);
    });

    $("#account_tab_m2005 table tbody tr:nth-child(2) td .popOver").click(function(){
        $("#account_tab_m2005 table tbody tr:first-child td .popOver").css('z-index',10);
        $(this).css('z-index',10);
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="account_tab_m2005">
    <table>
        <tbody data-bind="foreach: orderArray_tab, visible: orderArray_tab().length > 0">
            <tr>
                <td>...</td>
            </tr>
        </tbody>
    </table>
</div>

标签: knockout.js

解决方案


一种可能的方法是在 foreach 中使用 $index() 为 firstChild 提供不同的模板。看起来你正试图让第一个元素改变它的 css。只需在此处使用不同的类/ID。

<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="account_tab_m2005">
    <table>
        <tbody data-bind="foreach: orderArray_tab, visible: orderArray_tab().length > 0">
            <!-- ko if: $index() === 0 -->
            <tr id="firstChild">
                <td>...</td>
            </tr>
            <!-- /ko -->
            <!-- ko if: $index() !== 0 -->
            <tr>
                <td>...</td>
            </tr>
            <!-- /ko -->
        </tbody>
    </table>
</div>

$('#firstChild').css('z-index', 11)

推荐阅读