当前位置: 首页 > 面试题库 >

使用JavaScript更改:hover CSS属性

陈琪
2023-03-14
问题内容

我需要找到一种使用JavaScript更改CSS:hover属性的方法。

例如,假设我有以下HTML代码:

<table>
  <tr>
    <td>Hover 1</td>
    <td>Hover 2</td>
  </tr>
</table>

以及以下CSS代码:

table td:hover {
background:#ff0000;
}

我想使用JavaScript将悬停属性更改为例如background:#00ff00。知道我可以使用JavaScript通过以下方式访问样式背景属性:

document.getElementsByTagName("td").style.background="#00ff00";

但是我不知道:hover的JavaScript等效项。如何使用JavaScript更改这些的:hover背景?

非常感谢您的帮助!


问题答案:

伪类:hover从不引用元素,而是引用任何满足样式表规则条件的元素。您需要 编辑样式表规则添加新规则
或添加包含新:hover规则的新样式表。

var css = 'table td:hover{ background-color: #00ff00 }';
var style = document.createElement('style');

if (style.styleSheet) {
    style.styleSheet.cssText = css;
} else {
    style.appendChild(document.createTextNode(css));
}

document.getElementsByTagName('head')[0].appendChild(style);


 类似资料:
  • 在JavaScript中是否可以监听属性值的更改?例如: 我想响应属性中的任何更改。 我已经阅读了对象,以及该对象的替代对象(包括使用动画事件的对象)。据我所知,它们是关于实际DOM的更改。我更感兴趣的是对一个特定DOM元素的属性更改,所以我不认为仅此而已。当然,在我的实验中,这似乎不起作用。 我希望在没有jQuery的情况下这样做。 谢谢

  • 问题内容: 我有一个div的特定样式表。现在我想使用js动态修改div的一个属性。 我该怎么做? 它是否正确? 问题答案: 几乎是正确的。 由于是JavaScript操作符,因此您实际上不能在属性名称中使用它。如果您正在设置,或者类似的单字,您的代码就可以正常工作。 但是,对于任何带连字符的属性名称,您都需要记住的是,在javascript中,您删除了连字符,并使下一个字母变为大写,因此应为。 还

  • 问题内容: 我正在尝试更改某人单击单选按钮时的状态。由于某种原因,我的代码无法正常工作,并且我很难找出原因。这是我所拥有的: 问题答案: 在这种情况下,可能是因为您在此处使用了错误的括号: 应该

  • 问题内容: 有没有一种方法可以使用jQuery更改CSS类的属性,而不是元素属性? 这是一个实际的例子: 我上课有一个div 我想更改类背景属性,而不是已分配类背景的元素。 如果我使用jQuery .css()方法做到这一点: 它会影响现在具有class的元素。到这里为止一切都很好。但是,如果我进行Ajax调用,并在class中插入更多div ,则这些背景将不会具有绿色背景,而它们将具有初始背景。

  • 问题内容: 我使用FlexJson进行序列化,唯一的问题是它会生成小写的字段名,而我需要它们以大写开头: 当序列化时,字段被序列化为,而我需要它被序列化。 如何指定输出字段名称?我可以使用一些属性来指定所需的序列化名称吗? 问题答案: 您可以使用“ 自定义变压器” 来实现。根据Flexjson页面转换器是: 负责确定如何将传入的对象转换为JSON,对JSONContext对象进行适当的调用以输出J

  • 我试图创建一个java程序,它将在WebSphere上编辑JVM的类路径属性。我现在能够将程序连接到服务器,也能找到节点,但我不知道下一步该做什么。我应该使用哪个MBean来找到JVM类路径并对其进行配置?我知道我可以在管理控制台上编辑它,但是对于这个任务,我真的必须使用Java程序来完成。 我也不允许使用wsadmin和jacl/jython脚本。 这是我目前的代码: 任何帮助都将不胜感激。非常