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

是否有一个CSS选择器来选择html中的某个元素?

澹台承载
2023-03-14
问题内容

在以下HTML中,我想h2在图像悬停时将悬停效果应用于标题img。是否有CSS选择器可以执行此操作?

的HTML

  <article>
      <h2><a href="#">Title</a></h2>
      <a href="#"><img src="#" /></a>
  </article>

问题答案:

更新:主题说明符似乎已从Selectors Level 4规范的 编辑者草案(2014年5月6日)中 删除。这样就无法使用CSS来实现这一目标。

选择器级别4引入了主题说明符,该说明符允许:

!h2 + a img:hover { }

选择<h2>

当前不存在浏览器支持AFAIK。

您可以在JavaScript中对其进行仿真(以下内容未经测试,但应能带给您想法)。

var img = document.querySelector('h2 + a img');
img.addEventListener('mouseover', function (e) {
    this.parentNode.previousElementSibling.className += " hovered";
});
img.addEventListener('mouseout', function (e) {
    this.parentNode.previousElementSibling.className = this.parentNode.previousElementSibling.className.replace(/\shovered/g, "");
});


 类似资料:
  • 问题内容: 我试图在ID或类’B’的元素中选择类’A’的第一个元素。我尝试了> +和第一个子选择器的组合,因为它不是类元素’B’中的第一个元素。它起作用了,但是…我试图覆盖一些默认的CSS,并且我无法控制服务器端,似乎类’A’元素有时在不同的位置生成。这是一个例子: 有时,“ B”类的名称有所不同,“ A”之前的元素也有所不同。那么,有什么方法可以选择元素“ C”中首次出现的“ A”吗?因为“ C

  • 问题内容: 如何选择锚元素的直接父元素? 例如,我的CSS将是这样的: 显然,可以使用JavaScript进行此操作,但是我希望CSS Level 2本身具有某种解决方法。 我正在尝试设置样式的菜单已由CMS弹出,因此我无法将活动元素移动到元素…(除非我将菜单创建模块作为主题,但我不希望这样做)。 有任何想法吗? 问题答案: 当前无法在CSS中选择元素的父级。 如果有办法,可以在当前的CSS选择器

  • 问题内容: 只有子元素存在时,我才能使用css选择器吗? 考虑: 我只想在div没有至少一个子元素的情况下应用div 。 我可以使用的任何选择器吗? 问题答案: 甚至文本节点也将导致父节点不被认为是空的,因此DIV中的UL将阻止DIV被匹配。 如果您执行脚本路线: 当然,jQuery使这样的任务变得更容易,但是这一任务不足以包含整个库。

  • 问题内容: 我有一堆带有类名的元素,但是我似乎无法使用以下CSS规则选择第一个元素: 该选择器有什么问题,我该如何纠正? 多亏了这些评论,我才知道该元素必须是其父元素的第一个子元素才能被选中,而事实并非如此。我具有以下结构,并且该规则失败,如注释中所述: 我该如何针对上课的第一个孩子? 问题答案: 这是作者误解工作方式的最著名例子之一。在CSS2介绍,该伪类表示其父的第一个孩子。而已。有一个非常普

  • 本文向大家介绍浏览器是怎样判断元素是否和某个CSS选择器匹配?相关面试题,主要包含被问及浏览器是怎样判断元素是否和某个CSS选择器匹配?时的应答技巧和注意事项,需要的朋友参考一下 先产生一个元素集合,然后从后往前判断; 浏览器先产生一个元素集合,这个集合往往由最后一个部分的索引产生(如果没有索引就是所有元素的集合)。然后向上匹配,如果不符合上一个部分,就把元素从集合中删除,直到真个选择器都匹配完,

  • 问题内容: 我有以下HTML 以及以下样式: 由于某种原因,我不了解该样式已应用于 “子内容1” 和 “标题” 。 我认为样式上的选择器仅适用于div的第一个直接子类,该子类具有“ section”类。如何更改选择器以获得我想要的? 问题答案: 您所发布的字面意思是“查找分区div内且是其父级的第一个孩子的所有div。” 该子项包含一个与该描述匹配的标签。 我不清楚您是否要同时兼任主要div的两个