首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用样式,而不管元素是否已添加到jQuery的DOM中

应用样式,而不管元素是否已添加到jQuery的DOM中
EN

Stack Overflow用户
提问于 2012-07-02 18:25:13
回答 4查看 130关注 0票数 0

问题:应用$(".price").hide();工作于已经呈现的元素,但是,当我通过javascript加载一个新模板时,价格类将是可见的。

问题:是一种在插入DOM时将样式应用于类的所有未来实例的方法。

示例:

代码语言:javascript
运行
复制
$(".price").hide();
$('body').append('<div class="price">19.00</div>'); // this should be hidden.
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-02 19:15:07

与其这样做,不如让切换开关修改容器元素以添加或删除类。

然后,有一个如下所示的CSS规则:

代码语言:javascript
运行
复制
.hidePrice .price{
    display:none;
}​

切换按钮时,只需在容器元素上切换hidePrice类即可。

请参阅:http://jsfiddle.net/bXChZ/

票数 1
EN

Stack Overflow用户

发布于 2012-07-02 18:27:09

我认为最好的解决方案是使用帮助类:

CSS

代码语言:javascript
运行
复制
.helper{
    display: none;
}

jQuery

代码语言:javascript
运行
复制
$(".price").addClass('helper'); //for dyanmic addition to certain classes
$('body').append('<div class="price helper">19.00</div>');  //for adding afterward
票数 1
EN

Stack Overflow用户

发布于 2012-07-02 19:03:45

这对我起了作用:

与jQuery:

代码语言:javascript
运行
复制
$('<style id="priceVisibility">div.results .price {display: none; }</style>').appendTo('head');

没有 jQuery:

代码语言:javascript
运行
复制
// Appending style element to the head with a overriding style.
var style = document.createElement('style');
style.type = 'text/css';
style.id = 'priceVisibility';
style.innerHTML = 'div.results .price {display: none; }';
document.getElementsByTagName('head')[0].appendChild(style);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11299120

复制
相关文章

相似问题

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