我有一个中继器,当我选择或单击它的任何行时,我只想要那个,然后将其突出显示。我尝试了一些javascript代码,使选中的行突出显示,但在选择其他任何行时也不会突出显示。我的代码是:-

<tr id="gh" style="cursor: pointer" onclick="Select(this);">


任何javascript和样式的代码是:-

<style type="text/css">
    .highlight
    {
        background-color: Red;
    }
    .selected
    {
        background-color: #ffdc87;
    }
</style>

<script type="text/javascript">
    function Select(obj) {
        obj.className = 'selected';
        var tbl = document.getElementById("Repaddressorbbl")
        var firstRow = tbl.getElementsByTagName("TR")[0];
        var tableRowId = tbl.rows[firstRow.getElementById("gh").parentNode.id];
        alert(tableRowId);
        var oldRow = tbl.rows[firstRow.getElementsByTagName("tr")[0].value];
        if (oldRow != null) {
            oldRow.className = '';
        }
        firstRow.getElementsByTagName("tr")[0].value = obj.rowIndex;

    }

</script>


我们可以用后面的代码简单地做到这一点,但问题是只能用jquery或javascript完成。

最佳答案

您可以使用类似于以下代码:

var INDEX = $(this).parent().children().index($(this));
$('#Repaddressorbbl tr:nth-child(' + INDEX + ')').addClass("highlight")
                        .siblings()
                        .removeClass("highlight");  // remove css class from other rows


它获取TR的行号并添加CSS类,同时从所有其他TR中删除同一类。

关于javascript - 如何突出显示转发器中的所选行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8092871/

10-12 04:01
查看更多