如何使用jQuery访问伪元素的样式属性?

前端之家收集整理的这篇文章主要介绍了如何使用jQuery访问伪元素的样式属性?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于上下文,这是 an earlier question的跟进.而不是通过cssRules挖掘,我想将逻辑基于搜索这些规则的效果的jQuery选择器.

给定默认属性

.commentarea .author:before {
    background-image: url(http://...);
    background-position: -9999px -9999px;
    /* ... */
}

被选择性地修改

.author[href$="gbacon"]:before /* ... */ {
  content: "";
  background-position: 0 -140px
}

如何选择各个背景位置具有默认值的伪元素?复制选择器

GM_log("size = " + $(".commentarea .author:before").size());

什么都不匹配试用.siblings()

$(".commentarea .author")
  .map(function(i) {
         GM_log($(this)
                  .siblings()
                  .map(function (i) { return $(this).css("background-image") })
                  .get()
                  .join(","))
       });

不产生任何值.

有关详细信息,请参阅live page.这是可能吗?

解决方法

你不能使用这样的:before和:之后的伪元素.它们的目的是在(分别)您指定的选择器之前和之后插入内容.

使用示例

HTML:

<span class='a'>
    Outer
    <span class='b'>
        Inner
    </span>
</span>

CSS:

.a .b:before {
    content: "|Inserted using :before|";
}

.a {
    color: blue;
}

.b {
    color: red;
}

结果:

http://jsfiddle.net/mzcp6/

发生了什么是文本|插入使用:before |被插入之前(嗯,真的,进入)内部跨度,因为它是class b和a类元素的后代.基本上:之前和之后不要选择;他们修改.

例:

这不按预期工作:

HTML:

<span class='a'>
    <p>More text</p>
    <span class='b'>
        <p>More text</p>
        Inner
    </span>
</span>

CSS:

.a .b:before {
    text-size: 100px;
}

什么都没发生:

http://jsfiddle.net/bQ2ty/

编辑:

:之前不是一个有效的jQuery选择器:http://api.jquery.com/category/selectors/

我想你将需要使用以下之类的东西:之前或尝试使用jQuery插件提取原始规则:http://flesler.blogspot.com/2007/11/jqueryrule.html

原文链接:https://www.f2er.com/jquery/179903.html

猜你在找的jQuery相关文章