高级:将鼠标悬停在更深的嵌套上

发布于 2024-12-01 06:11:59 字数 300 浏览 0 评论 0原文

我不知道该怎么形容这个?我认为如果你看看我制作的 jsfiddle 会更好。

正如你所看到的,一些 TR 元素上有一个悬停,如果 TD 已经有另一个 bgcoler,它必须更改为替代 bgcolor。

它在前 3 行,但如果 DOM 中更深层次地嵌套了一个新表,则新表中的绿色 TD 始终具有 :hover 类

jsfiddle

http://jsfiddle.net/VvZuV/1/

I don't know exactly how I can describe this? I think its better if you look at the jsfiddle I have made..

As you can see there is a hover on some TR elements and if the TD already has another bgcoler it has to change to an alternative bgcolor..

It works fine in the first 3 rows, but if there is nested a new table deeper in the DOM the green TD's in the new table does always have the :hover class

jsfiddle

http://jsfiddle.net/VvZuV/1/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧城烟雨 2024-12-08 06:11:59

更改为:

tr:hover td.green, tr.deep:hover td.green {
    background:#7bcf81;
}

改为:

tr:hover > td.green, tr.deep:hover > td.green {
    background:#7bcf81;
}

不需要新课程。

http://jsfiddle.net/rCztp/


说明

一旦您将鼠标悬停在包含 、所有子项、孙子项等都受到 css 规则的影响。使用 > 意味着只有儿童会受到影响。

Change this:

tr:hover td.green, tr.deep:hover td.green {
    background:#7bcf81;
}

To this:

tr:hover > td.green, tr.deep:hover > td.green {
    background:#7bcf81;
}

No new class needed.

http://jsfiddle.net/rCztp/


Explanation

As soon as you hovered over the <tr> that contained the <table>, all children, grand-children, and etc, were affected by your css rule. Using > means that only children will be affected.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文