![](/img/trans.png)
[英]How do you use JQuery and data-rel to initiate CSS effects in linked element?
[英]How to make the effects of jQuery's $(element).css() persistent?
例如,使用字体大小的切换器/按钮,如果我使用
$('#container p').css('font-size', '24px');
它按预期工作,但如果我稍后将段元素添加到容器(通过ajax等),它们不会使用更新的字体大小设置样式。 我知道这是.css()
方法的预期行为。 我只想问:
更改CSS选择器的样式以及使这些样式持久化的正确方法是什么?
是的,当你执行该命令时,它会在#container
所有p
元素的样式。 如果您希望它是永久性的,您可以创建一个<style />
元素并在那里添加CSS样式。
详细说明,你可以这样做:
$(document.head).append('<style>#container p{font-size: 24px;}</style>');
jQuery在该行中的作用相当于:
<div id='container'>
<p style='font-size:24px'>a</p>
<p style='font-size:24px'>b</p>
<p style='font-size:24px'>c</p>
</div>
对于您的特定情况,我会得到文档中的一个样式表,如下所示:
var stylesheets = document.styleSheets
返回包含insertRule方法的styleSheet 对象数组,您可以使用该方法添加新的(永久)css规则。
干杯!
您不能直接使用JavaScript添加样式,但是您可以这样做:
<div id="wrapper">
<div id="paragraph1">blah</div>
<div id="paragraph2">you</div>
</div>
和
$("#wrapper").css...
这样,您添加到包装器的任何段落都将具有新的字体大小...
那么你只是为现有元素添加样式,jquery无法知道新元素。
问题可能在于你正在摧毁你拥有风格的元素。
如果您通过AJAX引入#container
的替代品,那么所有内容都将被销毁并替换为新内容。 您添加样式的所有<p>
标记将不再存在,并且需要在较新的条目上重复。
你可以尝试的是动态创建一个类定义 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.