我正在更改插件的管理区域,并为“即将到来”选项添加一个复选框。现在,当用户选中“即将到来”复选框时,整行将变为绿色,但也可以选择删除整行。选中删除复选框后,该行变为红色。
我遇到的问题是,当选中即将到来和删除复选框时,该行只会变为绿色。无论是否选中“即将到来”框,我都希望该行变为红色。
管理脚本。php
//Styles rows clicked for deletion
function showStriked(){
jQuery("#cqrm-current-item-list input[type=checkbox].strike").each(function() {
if( jQuery(this).attr("checked")){
jQuery(this).closest(\'tr\').addClass("cue-deletion");
}
else{
jQuery(this).closest(\'tr\').removeClass("cue-deletion");
}
});
}
showStriked();
jQuery(".strike").click(showStriked);
//Styles rows clicked for Comingsoon
function showComingsoon(){
jQuery("#cqrm-current-item-list input[type=checkbox].comingsoon").each(function() {
if( jQuery(this).attr("checked")){
jQuery(this).closest(\'tr\').addClass("cue-comingsoon");
}
else{
jQuery(this).closest(\'tr\').removeClass("cue-comingsoon");
}
});
}
showComingsoon();
jQuery(".comingsoon").click(showComingsoon);
管理员。css
#cqrm-current-item-list tr.cue-deletion, #cqrm-current-item-list tr.cue-deletion *{
background-color: #fbb !important;
filter: alpha(opacity=100) !important;
}
#cqrm-current-item-list tr.cue-comingsoon, #cqrm-current-item-list tr.cue-comingsoon *{
background-color: #9F9 !important;
filter: alpha(opacity=100) !important;
}
模式编辑。php
<td class="check-cell"><input type="checkbox" class="comingsoon" <?php echo $itemcomingsoon; ?> name="itemcomingsoon[<?php echo $id ?>]" value="checked"/></td>
<td class="check-cell"><input type="checkbox" class="strike" name="strike[<?php echo $id ?>]" value="checked"/></td>
最合适的回答,由SO网友:Privateer 整理而成
您看到的问题是,从CSS的角度来看,您的声明具有相同的重要性。
如果添加其他样式以提供更多首选项:
#cqrm-current-item-list tr.cue-deletion.cue-coming-soon, #cqrm-current-item-list tr.cue-deletion.tr.cue-coming-soon *{
背景颜色:#fbb!重要的过滤器:alpha(不透明度=100)!重要;}
或者将提示删除移到提示comingsoon声明的下方,您应该会发现事情按需要进行。
在CSS中,#(id)的顺序约为100。(类)的顺序约为10,标记的顺序约为1。。。
具有相同或更高权重的后期声明会覆盖早期声明。
看看你的两份声明,他们都有
#(id) tr(tag).(class)
这意味着它们的重量约为100+1+10
使一个更具体(如上所示)将给它额外的10个权重,并覆盖另一个。使更重要的迟于次要的应该具有相同的效果,因为它将覆盖其他。