当DOM中的特定类可用时,不选择条件。仅当DOM中的availablediv类可用时才需要启用以下脚本。但即使DOM中存在availablediv类,这种情况也不会被选中。
<script>
$(document).ready(function(){
if($('.availablediv').length > 0){
$('head').append('<style type="text/css">.data {
width: 5%;
}
.presalesDiv .callPlans h3 {
font-size: 15px !important;
}
.handsetDiv .callPlans p {
font-size: 14px !important;
}
.upfront ul li {
display: block;
}</style>');
}
});
</script>
下面是显示div的角度ng-if条件,条件正常。
<div class="availablediv" ng-if="data.cluster_desc_count > 0">
<div ng-if="data.cluster_scode">
<ul>
<li>{{data.clusterData}}</li>
<li>{{data.clusterSpeed}}</li>
</ul>
</div>
</div>
答案 0 :(得分:1)
不要在jquery中使用角度混合。这个解决方案会让人有些困惑。因为angular和jquery与DOM绑定不同。
因此,当文档准备就绪时,div
.availablediv
可能不会 可用- 醇>
不要使用追加头。这使你的代码非常糟糕
如果你想观看元素并添加css,我建议你使用:
scope.$watch('data.cluster_desc_count', function(value) {
if (value > 0) {
$rootScope.isClusterDescCount = true;
} else {
$rootScope.isClusterDescCount = false;
}
});
&#13;
并使用$rootScope.isClusterDescCount
将类添加到正文中。
<body ng-app="app" ng-class="{isClusterDescCount: 'is-have-cluster'}">
你的css将是
body.is-have-cluster .presalesDiv .callPlans h3 {
font-size: 15px !important;
}
body.is-have-cluster .handsetDiv .callPlans p {
font-size: 14px !important;
}
body.is-have-cluster .upfront ul li {
display: block;
}
&#13;
scope.$watch('data.cluster_desc_count', function(value) {
if (value > 0) {
$('body').addClass('is-have-cluster');
} else {
$('body').removeClass('is-have-cluster');
}
});
&#13;
希望这个帮助