使用 DOM 样式通过 Javascript 获取或更改 CSS 类属性

2024-04-02

我的目标是更改表中列的背景颜色,而无需按 ID 或名称单独寻址每个数据条目。我知道有几种方法可以做到这一点,确切地说我已经尝试了 3 种,但每种方法都遇到了问题。为了简单明了起见,在这个问题中,我问如何使用元素.样式.背景颜色 http://www.w3schools.com/jsref/prop_style_backgroundcolor.aspDOM 中的对象。这是我的 HTML:

    <!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="tester.css">
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
        <script type="text/javascript" src="tester.js"></script> 
    </head>
    <body>
    <button type="button" onClick="testerFunction()">Test</button>
        <table>
            <tr>
                <th class="col1">Column 1 Header</th>
                <th class="col2">Column 2 Header</th>
            </tr>
            <tr>
                <td class="col1">R1 C1</td>
                <td class="col2">R1 C2</td>
            </tr>
            <tr>
                <td class="col1">R2 C1</td>
                <td class="col2">R2 C2</td>
            </tr>
        </table>
     </body>
 </html>

我的 CSS 文件:

.col1{
    background-color:lime;  
}

我的 Javascript 文件:

function testerFunction() {
    alert (document.getElementsByClassName('.col1').style.backgroundColor);  
}

当我运行它时,我在 IE、Firefox 和 Chrome 中遇到大致相同的错误:

无法读取未定义的属性“backgroundColor”。

我有一种感觉,这与返回的数据类型有关DOM 对象。引用的网站说它返回一个 HTMLcollection。我发现的其他地方说它返回元素的“列表”。我尝试创建一个数组并将结果分配给数组并使用循环访问数组中的每个元素,但在同一位置出现相同的错误。可能我只是不知道如何处理“集合”。无论如何,我期待的是“lime”或十六进制或 rgb 等效项,因为这是我在 CSS 文件中定义的。我希望能够用 Javascript 来改变它。任何帮助将非常感激。谢谢!

编辑:为 Shylo Hana 的答案添加了参数,使其更加模块化

function testerFunction() {
    changeColumnColor('col1','blue');
}
function changeColumnColor(column,color) {
    var cols = document.getElementsByClassName(column);
    for(i=0; i<cols.length; i++) {
      cols[i].style.backgroundColor = color;
    }
}

正如 Quynh Nguyen 所提到的,您不需要“.”。在类名中。但是 - document.getElementsByClassName('col1') 将返回一个对象数组。

这将返回一个“未定义”值,因为数组没有类。您仍然需要循环遍历数组元素......

function changeBGColor() {
  var cols = document.getElementsByClassName('col1');
  for(i = 0; i < cols.length; i++) {
    cols[i].style.backgroundColor = 'blue';
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 DOM 样式通过 Javascript 获取或更改 CSS 类属性 的相关文章

  • 为什么我不能在 Javascript 中滚动循环?

    我正在开发一个使用 dojo 的网页 并且上面有许多 在我的测试用例中为 6 但通常是可变的 项目小部件 我正在调用 dojo addOnLoad init 并且在 init 函数中我有以下几行 dojo connect dijit byI
  • 与 font-weight:bold 和 与 font-style:italic

    使用之间有什么真正的区别吗 strong and em 而不是 CSS 属性 font weight bold font style italic 另外 这两种选择都存在的真正原因是什么 我可能是错的 但我没有 strong and em
  • 如何从字符串调用并执行运算符?

    例如 var s 3 3 s replace d g function all n1 operator n2 r new Number n1 new Number n2 return r 注意 不使用eval 变量运算符可以吗 https
  • 如何修改 Elasticsearch 文档的 _source 字段

    问题 有没有办法从文档的 source 中清除 html html 的剥离可以是周期性的 触发的 或者理想情况下是在索引时即时进行的 我将数据输入到elasticsearch中 并针对分析器进行索引 该分析器在索引之前剥离不需要的htmls
  • NestJS:使用 JWT 将验证选项添加到 AuthGuard

    我正在尝试利用AuthGuard装饰器和护照 JWT 策略 遵循文档 https docs nestjs com techniques authentication 文档中的所有内容都运行良好 但我现在想保护 JWT 中包含的范围的路由 这
  • 将数据从 javascript 发送到 mysql 数据库

    我有这个小点击计数器 我想将每次点击都包含在 mysql 表中 有人可以帮忙吗 var count1 0 function countClicks1 count1 count1 1 document getElementById p1 in
  • jquery菜单栏浮动顶部

    我试图使菜单栏不断浮动在浏览器的顶部 因此当他们向下滚动页面时 菜单栏仍位于顶部 我该怎么做呢 Regards CSS 标签position fixed 即使滚动 也会使其保持在屏幕上的同一位置 使用它 然后将其定位为top right b
  • NodeJS 中的 uglify-js“找不到模块”

    在这里我正在创建应用程序来压缩 javascript 文件 我所做的步骤 在我的本地机器上安装了nodeJS 检查节点和 npm 正在工作 通过 npm install uglify js g 安装 uglify js 并安装 当我尝试在命
  • 下拉菜单将导航栏向下推。如何避免呢?

    我是引导程序和网络开发的新手 我想构建一个具有两个导航栏的网页 并且根据屏幕尺寸 仅显示一个导航栏 对于屏幕尺寸 gt 768px 一切工作正常 至少看起来 对于较低的分辨率 下拉菜单将导航栏向下推到内容上方 如何避免这种情况 任何形式的帮
  • 无法解构“undefined”或“null”的属性“user”

    使用 redux 检索用户信息时出错 我想从数据库获取用户信息 姓名 密码和头像地址 然后对其进行编辑 我正在使用nodejs express react redux 和jwt Actions user js import axios fr
  • 在 Javascript 中缓存和预取过期的 Promise

    Promise 是我在 Javascript 中管理异步代码的首选方式 Memoize npm 上的 memoizee 是一个 Javascript 库 用于轻松缓存和预取函数结果 理想情况下 我想结合两者的优点 并且能够使 Promise
  • Sonarqube 未从 LCOV 检索我的 JavaScript 覆盖范围

    我有一个具有以下结构的应用程序 my application pom xml app scripts app js js 3rd party libs build node modules test 我已经创建了pom xml仅运行 Son
  • preg_match_all JS 等效吗?

    Javascript 中是否有与 PHP 的 preg match all 等效的函数 如果没有 将正则表达式的所有匹配项放入数组的最佳方法是什么 我愿意使用任何 JS 库来让它变得更容易 您可以使用match使用全局修饰符 gt gt g
  • 文本溢出上的点样式:省略号

    是否可以对点进行样式设置text overflow ellipsis 一个例子是将省略号加粗 如 Lorem Ips 灵感来自这个答案 https stackoverflow com a 21861334 3244925 这是一种设置省略号
  • 如何从此 d3.js layout.tree 获取树祖先和树后代的列表?

    我正在尝试和修改this https bl ocks org mbostock 4339083d3 js 的示例 用于根据 JSON 树结构绘制树 这就是树的一部分开始时的样子 我正在尝试进行两个单独的修改 但我不知道该怎么做 当单击节点的
  • CSS 3 nth 类型仅限于类 [重复]

    这个问题在这里已经有答案了 有没有办法限制 CSS 3nth of type去上课 我有一个动态数量section具有不同类别的元素指定其布局需求 我想抓住三分之一 module 但似乎nth of type查找类元素类型 然后计算类型 相
  • 单击按钮滚动到特定 div

    我有一个具有固定菜单和内容框 div 的页面 单击菜单时 内容框滚动到特定 div 到目前为止 一切都很好 这是这里的示例 https jsfiddle net ezrinn 8cdjsmb9 11 https jsfiddle net e
  • 将复杂对象传递给 ui-sref 参数

    我需要这样的构建网址 列表 过滤器 状态 1 过滤器 类型 2 I do link a List a 在参数中传递复杂对象 如果传递简单对象 filter 1 可以 但我需要这个 state state list url list filt
  • 使用 javascript 将子元素添加到父元素

    我正在尝试添加一个子元素 to a 父元素如下 li要添加到ul 单击 Enter 按钮或按下键盘上的 Enter 键时 会生成一个新的li and delete按钮应该添加到ul 我的代码无法正常工作 有人可以帮我解决这个问题吗 HTML
  • Google 地图 v3 信息窗口在地图视口外打开

    如果单击地图视口顶部附近的标记 信息窗口将加载到可视区域之外 并且必须拖动地图才能查看信息窗口内容 理想情况下 我不希望地图自动平移 有没有办法以不同的方向加载信息窗口 例如如果标记位于视口的顶部 则以向下的方向显示信息窗口 不 你不能以不

随机推荐

  • 即使没有来自客户端的连接,选择器也会无限循环

    我是 Java NIO 的新手 在阅读了一些教程后 我尝试自己编写一个简单的 NIO 服务器和客户端 我的服务器只做了一件简单的事情 就是从客户端监听并打印到控制台 客户端只需连接到服务器并向其发送 3 条消息 Hello 问题是我的服务器
  • .NET / C# 拼写检查器

    有人知道 C NET 的多语言拼写检查器吗 我的意思是 我有它和我找到了一些替代方案 但是有人有一个很好的成功故事吗 我需要在我的应用程序中添加拼写检查器 我想要一个集成的库System Windows Forms TexBox 例如 另外
  • 使用 std::codecvt_xxx 将 C++ std::wstring 转换为 utf8

    C 11有转换宽字符字符串的工具std wstring从 到 utf8 表示 std codecvt std codecvt utf8 std codecvt utf8 utf16 etc Windows 应用程序可使用哪一个来转换常规宽字
  • C++ 向量大小类型

    我刚刚开始学习 C 有一个关于向量的问题 我正在读的书指出 如果我想提取 double 类型向量的大小 例如 我应该这样做 vector
  • 为什么不能在 switch 语句中声明变量?

    我想了解更多关于 为什么不能在 switch 语句中声明变量 https stackoverflow com questions 92396 why cant variables be declared in a switch statem
  • 显示为“n”、“p”或“f”的小数字

    我正在使用绘图来绘制一些数据 小数字 我看到奇怪的格式 例如78 98p 576 65n 678 76f 这些F是什么 没有任何地方解释这些是什么 我怎样才能把它们变成带有 E 的科学记数法 看到这个https plot ly python
  • Visual Studio 代码:缺少 X509Certificate2UI

    尝试使用时出现以下错误X509Certificate2UI在 VS 代码中 命名空间 System Security Cryptography X509Certificates 中不存在类型或命名空间名称 X509Certificate2U
  • 递归的优点和缺点是什么?

    关于在排序算法中使用递归而不是非递归方法 或者就此而言 任何算法的优点和缺点是什么 大多数情况下 递归速度较慢 并且占用更多堆栈 递归的主要优点是 对于像树遍历这样的问题 它使算法变得更容易或更 优雅 看看一些比较 link http pa
  • Oracle 是否存储 Number 数据类型的尾随零?

    当我在表中存储数值并在 SQL Developer 中查询该表时 它没有显示数字数据类型的尾随零 create table decimal test decimal field number 10 insert into decimal t
  • 使用强化学习训练神经网络

    我了解前馈神经网络的基础知识 以及如何使用反向传播算法训练它们 但我正在寻找一种可以用于通过强化学习在线训练 ANN 的算法 例如 车杆向上摆动 http www google com search q cart 20pole 20swin
  • 带有子项的 ViewComponents

    我可以在这样的页面中使用 ViewComponents 吗
  • 将 CSV 数据导入 Google 表格

    当尝试使用IMPORTDATA该文件的函数 https www kaggle com stefanoleone992 fifa 20 complete player dataset players 20 csv https www kagg
  • JSF 获取托管 bean 中的当前操作

    当用户点击任意一个commandButton 然后在托管bean中调用相应的操作 是否可以从以下位置获取此操作名称 PostConstruct方法还是来自事件监听器方法 按钮的名称 值对本身可作为 HTTP 请求参数以通常的方式使用 想象一
  • 为什么我的 MVC3 Intranet 站点 Windows 身份验证在发布时不起作用

    我们有一个使用 MVC3 和实体框架的简单 Intranet 站点 一切正常 可以在 Visual Studio 中进行调试 当我将站点发布到本地盒子 IIS7 5 Web 服务器或同一域上的开发盒子时 系统会提示我输入用户名和密码 但它不
  • JS中如何获取对象数组的特定属性?

    我有以下代码和测试数据 const getNestedObject nestedObj pathArr gt return pathArr reduce obj key gt return obj obj key undefined obj
  • Visit_Psych_Nodes_Alias:未知别名:默认(Psych::BadAlias)

    我从 ruby 2 7 1 更新到 3 1 1 然后删除 Gemfile lock 并运行bundle update 它位于开发分支上 所以如果这是一个坏主意我可以扔掉它 我只是想看看它是否有效 bundle update成功了 但是当我启
  • knockout.js 将表单加载到 viewModel 中

    我目前正在成功使用 knockout js 来处理应用程序中的所有数据绑定 但是 在每个页面加载时 在我的 document ready 中 我正在执行初始异步数据加载 如下所示 document ready getData 但是 是否可以
  • pandas 附加到具有不同名称的列

    如何附加2个具有不同列名的不同数据框 a pd DataFrame id 0 1 2 3 countryid 22 36 21 64 famousfruit banana apple mango orange famousanimal mo
  • 有什么方法可以让用户上传的 SVG 图像免受代码注入等影响?

    我想在网站上显示用户上传的 SVG 图像 但它们很容易被利用 https security stackexchange com questions 11384 exploits or other security risks with sv
  • 使用 DOM 样式通过 Javascript 获取或更改 CSS 类属性

    我的目标是更改表中列的背景颜色 而无需按 ID 或名称单独寻址每个数据条目 我知道有几种方法可以做到这一点 确切地说我已经尝试了 3 种 但每种方法都遇到了问题 为了简单明了起见 在这个问题中 我问如何使用元素 样式 背景颜色 http w
Powered by Hwhale