首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用JQuery更改:before css选择器的宽度属性

使用JQuery更改:before css选择器的宽度属性
EN

Stack Overflow用户
提问于 2012-04-08 16:15:44
回答 2查看 170.8K关注 0票数 80

我有一个页面,其中包含一个图像,我使用:在CSS选择器之前设置它的样式。

图像是动态的,所以它没有固定的宽度;所以我需要动态地设置:规则的宽度之前。

我想在客户端使用JQuery做这件事。

假设如下:

.column:before{
    width: 300px;
    float: left;
    content: "";
    height: 430px;
}

.column{
    width: 500px;
    float: right;
    padding: 5px;
    overflow: hidden;
    text-align: justify;
}

如何使用JQuery只更改带有:before选择器的类的宽度属性(而不能更改没有选择器的类)?

EN

回答 2

Stack Overflow用户

发布于 2012-04-08 16:27:35

伪元素不是DOM的一部分,因此不能使用jQuery或Javascript操作它们。

但正如公认的答案所指出的,您可以使用JS附加一个样式块,该样式块结束了对伪元素的样式设置。

票数 28
EN

Stack Overflow用户

发布于 2014-10-13 21:20:47

您可以尝试从基类继承属性:

var width = 2;
var interval = setInterval(function () {
    var element = document.getElementById('box');
    width += 0.0625;
    element.style.width = width + 'em';
    if (width >= 7) clearInterval(interval);
}, 50);
.box {
    /* Set property */
    width:4em;
    height:2em;
    background-color:#d42;
    position:relative;
}
.box:after {
    /* Inherit property */
    width:inherit;
    content:"";
    height:1em;
    background-color:#2b4;
    position:absolute;
    top:100%;
}
<div id="box" class="box"></div>

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10061414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档