我有这个 JS 代码来弹出一个弹出窗口:
$('a').popover({content: 'Popover text', title: 'Popover'});
$('a').popover('show');
我想更改属性,例如,我希望弹出框的颜色为浅黄色。有没有办法可以在 JS 代码本身中做到这一点?也许在模板选项中?
我有这个 JS 代码来弹出一个弹出窗口:
$('a').popover({content: 'Popover text', title: 'Popover'});
$('a').popover('show');
我想更改属性,例如,我希望弹出框的颜色为浅黄色。有没有办法可以在 JS 代码本身中做到这一点?也许在模板选项中?
您可以使用 CSS 使用 、 和 类来做到.popover
这.popover-title
一点.popover-content
。
.popover-title{
background: #ffff99;
}
正如其他人指出的那样,更改弹出框颜色的方法是更改 和 的.popover
CSS .popover.right .arrow:after
。但由于我们希望这种情况动态发生,我们会这样做:
$('.popover').css('background-color', 'red');
$('.popover.right .arrow:after').css('border-right-color', 'red');
但是等等,第二个 jQuery 片段是不对的。您不能拥有:after
选择器,因为:after
它不是 DOM 的一部分,因此这个世界上没有任何 javascript 能够捕获:after
. 所以我做了这个CSS。
.popover-danger {
background-color: #d9534f;
border-color: #d43f3a;
color: white;
}
.popover-danger.right .arrow:after {
border-right-color: #d9534f;
}
每当我需要更改弹出框的颜色时,我都会编写以下 jQuery 代码段:
$('#selector').next('.popover').addClass('popover-danger');
#selector
是您应用了弹出框的元素。从那个元素我搜索下一个.popover
。这确保我们只处理附加到当前元素的弹出框。然后我们简单的添加类,这样:after
选择器就可以不用JS自然应用了。
试试这个代码来改变 Popover 标题栏和完整 Popover 的背景颜色:
$('.popover-title').css("background-color", "#9FC53B");
$('.popover').css("background-color", "red");
javascript:
$('#username').popover({
title: '',
content: 'error!'
});
$('#username').popover('show');
$('.popover').addClass('popover-danger');
html:
<div id="username" class="input-group" data-html="true" data-placement="right">
<span class="input-group-addon width-100 align-right">Username=</span>
<input type="text" class="form-control" title="username" placeholder="Enter username..." v-model='username'/>
</div>
CSS:
.popover-danger {
background-color: red !important;
border-color: red !important;
color: white !important;
}