【问题标题】:CSS selector for first image, only if first child第一个图像的 CSS 选择器,仅当第一个孩子
【发布时间】:2017-03-16 22:38:53
【问题描述】:

有谁知道是否可以定义一个 CSS 选择器来选择 div 中的第一个图像,但前提是它是 div 中的第一个子图像。

在 jQuery 中,我会使用类似这样的比较...

if ($('#div img:first-child') == $('#div>*:first-child')) {
  ...
}

【问题讨论】:

  • 这不是你比较两个 jQuery 选择器结果的方式。您需要改用.is()。

标签: css css-selectors


【解决方案1】:

By definition of "first-child",选择器(假设您的 div 有一个 id 或 div)

#div img:first-child

已经这样做了。任何div 的第一张图片是

div img:first-child

但是,正如 BoltClock 的回答所指出的,如果您可能将 img 元素嵌套在 div 的更深处,则需要子选择器。

【讨论】:

    【解决方案2】:

    如果您只想选择 img,则无需在 jQuery 中进行比较。只需像这样组合您的两个选择器:

    #div > img:first-child
    

    这适用于 jQuery 和 CSS。

    【讨论】:

    • 是的,如果可能有其他嵌套的div 元素,则需要子选择器。
    • 或者,就此而言,img 可能是div 下的第一个子元素的任何其他嵌套元素。
    【解决方案3】:

    这是一个简单的 CSS 选择器:

    #div:first-child img:first-child
    

    【讨论】:

    • 这仅在 #div 本身是其父级的第一个子级时才有效,而问题中没有提及。
    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    相关资源
    最近更新 更多