【问题标题】:Overriding css with jquery/javascript用 jquery/javascript 覆盖 css
【发布时间】:2011-03-15 14:25:13
【问题描述】:

我有一个表格,其边框从外部样式表(一些 .css 文件)设置为 1px 纯银。我无法控制这个文件。

这是CSS: 我的表 tbody td { 字体:8.5pt verdana,无衬线; 边框顶部:纯色 1px 银色; 边框底部:纯色 1px 银色; 溢出:隐藏; 填充:0px 3px 0px 2px; }

现在我想将表格中最后一行的边框颜色更改为黑色。我试图为此使用以下 jQuery 语句。

$('#table_1 tr:last').css('border', '1px solid black');

但这似乎不起作用。 如何使用 JQuery/JavaScript 做到这一点?

【问题讨论】:

    标签: javascript jquery css stylesheet


    【解决方案1】:

    试试

    this.style.cssText = "border: 1px solid red !important";
    

    $('#table_1 tr:last td').css('border', '1px solid black !important');
    

    【讨论】:

      【解决方案2】:

      如果是您追求的 TD,您需要解决它们:

      $(document).ready(function(){
        $('#table_1 tr:last td').css('border', '1px solid black');
      });
      

      此代码将等待 DOM 准备好,然后在最后一行的 TD 上应用边框。

      编辑:看到您的 CSS 声明,您需要使样式更具体。方法如下(使用类名):

      $(document).ready(function(){
        $('.my_table > tbody tr:last td').css('border', '1px solid black');
      });
      

      如果情况变得更糟,请选择$('table.my_table > tbody tr:last td')

      【讨论】:

      • 当我这样做时会发生一些奇怪的事情:底部边框只变成黑色。其他边框仍然是银色的。但是当我使用 2px 纯黑色时,它会应用于所有边框。不太清楚为什么会发生这种情况。
      • 听起来很奇怪。你介意发布代码吗?桌子上还有其他东西吗?
      • 对不起格特。你的回答很有用。我不是故意投反对票的。我对这个论坛很陌生,我在玩,结果被否决了。我试图撤销它。再次道歉!
      • 这是我的 css: .my_table tbody td { font: 8.5pt verdana, sans-serif;左边框:纯色 1px 黑色;右边框:纯色 1px 黑色;边框顶部:纯色 1px 银色;边框底部:纯色 1px 银色;溢出:隐藏;填充:0px 3px 0px 2px; } 我的表很简单。只有 2 列和 15 行。没有其他 javascript/jquery 功能。 'my_table' 是表的类。基本上最后一列有总计,必须突出。所以我想要一个黑色边框。我现在使用你提供的 jquery 代码
      • @user343409 使用 CSS 更新您的问题并使用代码格式化功能。这种方式可读性更高。
      猜你喜欢
      • 2011-12-15
      • 1970-01-01
      • 2012-08-11
      • 2014-10-27
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      • 2019-12-03
      • 1970-01-01
      相关资源
      最近更新 更多