通过jquery突出显示表中的第一行

时间:2014-08-13 18:45:25

标签: javascript jquery html

当单击第一个单元格文本时,我有一个单元格的逻辑突出显示正常工作。然而,当页面加载时,我想默认第一行要突出显示,因为第一行是根据它的id显示一些其他数据。

单击第一个单元格文本(id)时的作用是:

$("#simHeaderTable").find("tr").each(function () {
    var tdID = $(this).find("td:first-child").text();
    if (tdID == ID)
        $(this).children("td").css("background-color", "#FFFF66");
    else
        $(this).children("td").removeAttr("style");
});

所以我的逻辑是它找到了所有的行和循环。我检查了每一行中的第一个单元格,如果单元格文本等于某个id,我用一些css“突出显示”它。我不高兴所有其他人。

所以现在内部文档准备突出显示页面加载的第一行我想我会做以下操作,这不会导致任何突出显示。

$("#simHeaderTable").find("tr:first-child").children("td").css("background-color", "#FFFF66");

对我来说,这会找到第一个tr /行,然后查找所有子单元格/ td并应用css将背景颜色设置为黄色。知道为什么这不起作用吗?

1 个答案:

答案 0 :(得分:0)

你的陈述比需要的要复杂得多,而不是:

$("#simHeaderTable").find("tr:first-child").children("td").css("background-color", "#FFFF66");

尝试:

$("#simHeaderTable tr:first-child > td").css("background-color", "#FFFF66");

你甚至可以忽略'>'除非你有嵌套表。

通常,只有在使用缓存选择器时才使用.find():

var cached_obj = $('#something');
// lots of code
var cached_obj.find('.something_else');