javascript - 如何根据列条件设置默认颜色

标签 javascript jquery html css asp.net

<table cellspacing="2" cellpadding="2" align="Center" border="0" id="ctl00_centerContent_GridView1" style="border-color:Gray;border-width:1px;border-style:solid;">
    <tbody>
        <tr style="background-color:SeaShell;">
            <td class="nonpar" style="color:Red;font-weight:bold;"><a href="javascript:void(0);" style="color: black; cursor: default;">Entry #1</a></td>
            <td align="center" style="color:Red;">&nbsp;</td>
            <td align="center">N</td>
            <td>&nbsp;</td>
        </tr>
        <tr style="background-color:SeaShell;">
            <td class="nonpar" style="color:Red;font-weight:bold;"><a href="javascript:void(0);" style="color: black; cursor: default;">Entry #2</a></td>
            <td align="center" style="color:Red;">&nbsp;</td>
            <td align="center">N</td>
            <td>&nbsp;</td>
        </tr>
        <tr style="background-color:SeaShell;">
            <td class="nonpar" style="color:Red;font-weight:bold;"><a href="javascript:void(0);" style="color: black; cursor: default;">Entry #3</a></td>
            <td align="center" style="color:Red;">&nbsp;</td>
            <td align="center">Y</td>
            <td>&nbsp;</td>
        </tr>
        <tr style="background-color:SeaShell;">
            <td class="nonpar" style="color:Red;font-weight:bold;"><a href="javascript:void(0);" style="color: black; cursor: default;">Entry #4</a></td>
            <td align="center" style="color:Red;">&nbsp;</td>
            <td align="center">Y</td>
            <td>&nbsp;</td>
        </tr>
    </tbody>
</table>

我正在通过 JQuery 设置 Url、颜色和光标:

$("#ctl00_centerContent_GridView1 tr td a").each(function () {
    var url = $(this).attr("href");
    var cid = getParameterByName(url, 'ccid');
    if (cid == "34" || cid == "37") {
        $(this)
            .attr('href', 'javascript:void(0);')
            .css({ color: 'black', cursor: 'default' });
    }
});

如果查询字符串是 3437 并且如果第三列是 Y,我该如何修改代码,使字体颜色变为红色而不是黑色,否则使字体颜色为红色。将代码中的其他所有内容保持原样。

最佳答案

你可以这样找到第三列:-

 var url = $(this).attr("href");
 var cid = getParameterByName(url, 'ccid');
 var parentrow = $(this).parents('tr')[0]; //find the parent tr
 var thirdColumn = $('td:nth-child(3)', parentrow); //find 3rd td in that tr

然后,简单地应用条件:-

if (cid == "34" || cid == "37") {
     if (thirdColumn.text() == "Y")
          $(this).css({ color: 'red', cursor: 'default' });
     else
          $(this).attr('href', 'javascript:void(0);')
                 .css({ color: 'black', cursor: 'default' });
}

关于javascript - 如何根据列条件设置默认颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33310165/

相关文章:

javascript - 即使我传递相同的引用,React useState 也会重新渲染?

jquery - CSS 链接在点击时不起作用

php - 如何在 Javascript 中访问 PHP 方法?

html - 图片填入div(ruby)?

javascript - 如何在带双引号的 url 中使用文档写入

javascript - 更改 AngularJS 中特定标题的颜色

javascript - 如何仅使用 javascript 设置输入[范围]的拇指样式?

php - 使用 Jquery(ajax) 防止页面重新加载的最佳方法是什么?

javascript - 如何使用地理位置获取城市名称并重定向到该城市的 URL?

jquery - 如何使用多个 is() 选择器?