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

使用jQuery访问css“:after”选择器

王云
2023-03-14
问题内容

我有以下CSS:

.pageMenu .active::after {
    content: '';
    margin-top: -6px;
    display: inline-block;
    width: 0px;
    height: 0px;
    border-top: 14px solid white;
    border-left: 14px solid transparent;
    border-bottom: 14px solid white;
    position: absolute;
    right: 0;
}

我想使用jQuery更改顶部,左侧和底部边框的边框宽度。我使用什么选择器访问该元素?我尝试了以下方法,但似乎没有用。

$('.pageMenu .active:after').css(
        {
            'border-top-width': '22px',
            'border-left-width': '22px',
            'border-right-width': '22px'
        }
    )

问题答案:

您无法操作:after,因为从技术上讲,它不是DOM的一部分,因此任何JavaScript都无法访问它。但是您 可以
添加具有:after指定的新类的新类。

CSS:

.pageMenu .active.changed:after { 
/* this selector is more specific, so it takes precedence over the other :after */
    border-top-width: 22px;
    border-left-width: 22px;
    border-right-width: 22px;
}

JS:

$('.pageMenu .active').toggleClass('changed');

更新: 虽然不可能 _直接_修改:after内容,但是有一些方法可以使用JavaScript读取和/或覆盖它。有关技术的完整列表,请参见“使用jQuery操作CSS伪元素(例如:before和:after)”



 类似资料:
  • 问题内容: 我想知道以下是否可能。我知道它不起作用,但是也许我没有以正确的语法编写它。 无论如何这样做? 问题答案: 不支持HTML,仅支持文本。您可能应该使用javascript,jQuery或类似的东西。 您的代码的另一个问题是在一个块内。您应该混合使用和()。 如果确实支持HTML,则可能会陷入无限循环,并在其中添加。

  • 问题内容: 我想选择伪元素 这是我的CSS: 码 问题答案: 直接绑定到伪元素是不可能的,因为它们不是DOM的一部分,但是可以通过绑定到父元素并测试与作用于该元素的元素相关的偏移来近似达到预期的效果: 以下显示为,其中单击“ ELEMENT”和“ ++”分别会触发不同的行为:

  • 问题内容: 有没有办法使用jQuery 选择/处理CSS伪元素,例如和(以及带有分号的旧版本)? 例如,我的样式表具有以下规则: 如何使用jQuery将’foo’更改为’bar’? 问题答案: 您还可以将内容传递给具有data属性的伪元素,然后使用jQuery进行操作: 在HTML中: 在jQuery中: 在CSS中: 如果要防止显示“其他文本”,可以将其与seucolega的解决方案结合使用,如

  • 问题内容: 如果我有以下HTML: 我如何将CSS选择器与Selenium一起使用来访问项目4(或实际上我想要的任何项目)? 问题答案: 您可以使用nth-child选择器: 实时示例:https://jsfiddle.net/7ow15mv2/1/ 但是不知道它是否可以与硒一起使用。 但是根据文档它应该。 当前,css选择器定位器支持所有css1,css2和css3选择器,但css3中的名称空间

  • 本文向大家介绍Jsoup 使用CSS选择器选择元素,包括了Jsoup 使用CSS选择器选择元素的使用技巧和注意事项,需要的朋友参考一下 示例 您可以在此处找到支持的选择器的详细概述。

  • 我正在尝试使用JSoup从网站上刮取一些内容。以下是我感兴趣的页面中的一些HTML内容示例: 我有兴趣获得页面中所有的列表(所以"Fizz","Buzz","Foo"和"Bar")。但是我不能只查询,因为他们到处都在使用类来装饰许多不同的元素。具体来说,我需要存在于元素中的所有。请注意,pbks可以包含0个pgs,pgs可以包含0个热词,热词可以包含1个其他热词。我有以下代码: 运行该代码将生成以