【问题标题】:CSS selectors: Is there a way to select surrounding elements?CSS 选择器:有没有办法选择周围的元素?
【发布时间】:2009-11-24 13:48:42
【问题描述】:

我感觉这可能涉及某种高级选择器,但我可能是错的。我有这个 HTML 可以使用:

<dt></dt>
<dd><input type="hidden" class="hidden"></dd>

...我需要隐藏 DT 和 DD 标签。我可以在input 标签上应用一个类,但不能在其他标签上应用。那么如何在 DT/DD 标签上应用“隐藏”类样式呢?

【问题讨论】:

    标签: css css-selectors


    【解决方案1】:

    您不能以任何跨浏览器特定的方式来做到这一点。 jQuery(或类似的 Javascript 库)将允许您使用以下方式进行操作:

    $("dd:has(input.classname)").each(function() {
      $(this).hide().prev().hide();
    });
    

    $("input.classname").each(function() {
      $(this).parent().hide().prev().hide();
    });
    

    注意: jQuery 的许多功能都围绕使用高级选择器展开,其中许多是 CSS3 标准的一部分,但该标准仅在最现代的浏览器中部分实现。 Javascript 是实现任何类型的广泛浏览器兼容性的方法。

    【讨论】:

      【解决方案2】:

      没有跨浏览器实用的方法可以从子元素的选择器中定位父元素,如果您绝对无法控制标记,最好的选择可能是使用 JS。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-05
        • 1970-01-01
        • 2019-11-08
        • 1970-01-01
        相关资源
        最近更新 更多