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

使用jQuery选择和操作CSS伪元素,例如:: before和:: after

施同
2023-03-14
问题内容

有没有办法使用jQuery 选择/处理CSS伪元素,例如::before::after(以及带有分号的旧版本)?

例如,我的样式表具有以下规则:

.span::after{ content:'foo' }

如何使用jQuery将’foo’更改为’bar’?


问题答案:

您还可以将内容传递给具有data属性的伪元素,然后使用jQuery进行操作:

在HTML中:

<span>foo</span>

在jQuery中:

$('span').hover(function(){
    $(this).attr('data-content','bar');
});

在CSS中:

span:after {
    content: attr(data-content) ' any other text you may want';
}

如果要防止显示“其他文本”,可以将其与seucolega的解决方案结合使用,如下所示:

在HTML中:

<span>foo</span>

在jQuery中:

$('span').hover(function(){
    $(this).addClass('change').attr('data-content','bar');
});

在CSS中:

span.change:after {
    content: attr(data-content) ' any other text you may want';
}


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

  • 问题内容: 我有一个带有CSS伪元素的元素用作关闭按钮(而不是使用实际按钮)。如何将事件侦听器 仅 应用于伪元素? HTML CSS 问题答案: 否。伪元素在DOM中不存在,因此它没有表示它的对象。

  • 问题内容: 我正在使用和CSS伪元素,并且它在 IE8 和所有现代浏览器中都可以正常工作,但在 IE7中 却不能正常工作。在 IE7中 是否存在已知的解决方法? 问题答案: 我在项目中使用的是IE8.js(http://code.google.com/p/ie7-js/),我必须将其删除,因为它在10/15秒内阻止了IE7。 为了保留用:after和:before伪元素生成的内容,而没有IE8.j

  • 问题内容: 通用选择器是否会影响伪元素,例如和? 让我举一个例子: 执行此操作时: ......没有上述声明包括自动/影响伪元素,如和呢? 或者,为了影响诸如和的伪元素,必须声明这一点? 这有意义吗? 我一直只使用伪元素,而从来没有任何问题。但是我看到许多教程在做,但是它们从没有真正解释为什么将它们包含在声明中。 问题答案: 不,通用选择器不影响伪元素(通过继承间接除外,因为伪元素通常作为实际元素

  • 问题内容: 如何将伪元素选择器()与属性选择器()组合在一起? 我尝试使用,但这在Chrome中不起作用。 HTML: CSS: 在每个div的末尾显示“ YES”,第二个div之后应显示“ NO”。 我正在运行Chrome 17.0.963.38。在Safari 5.1.2中似乎可以正常工作。 问题答案: 这看起来像个错误,终于被报道了。如果您为样式表中的任何位置 添加CSS规则并至少包含一个声

  • 问题内容: 我正在尝试为HTML5中的提出一些好的默认样式,并尝试了以下方法: las,内容从不显示。对于伪元素,双冒号和单冒号都不是问题。我都尝试过。拥有一个伪元素和一个伪类也不是问题。我已经尝试过不使用和了。在Chrome,Safari和Firefox中,我得到了相同的行为(Firefox没有和类,但是我尝试了不使用它们。) 在伪元素工作细,,,和元素-其中一些是块元件和一些是内联。 因此,我