jquery - 不均匀的 div 样式

标签 jquery css

我有一个动态创建的 jquery Accordion (有关详细信息,请参见下面的屏幕截图)。

最后一个Panel在accordion中对别人参差不齐是什么问题?

enter image description here

我在我的问题中对我的代码部分进行了简要描述

第一个代码部分

我为 Accordion 使用的唯一 css

第二个代码部分

  1. detailTable是动态放置 Accordion 的主div
  2. htmlTableWarning、htmlTableError、htmlTableInfo此处在 div 中使用表格来创建适当的 Accordion 。

我的CSS

.acc_panel{
/*border: 1px solid #d6d6d6;*/
overflow:hidden;
}
.acc_trigger {
padding: 0;    margin: 0 0 2px 0;
background: url(../images/thbg.jpg);
height: 26px;    line-height: 22px;
width: 100%;
font-size: 1.2em;
color:#FFFFFF;
font-weight: normal;
float: left;
overflow:hidden;
}
.acc_trigger img{
padding: 5px 0 0 6px;
}
.acc_trigger a{
color: #FFFFFF;
text-decoration: none;
width: 99%; 
padding: 0 0 0 6px; 
 }
.acc_trigger a:hover {
color: #ccc;
}
.acc_container {
margin: 0 0 2px; padding: 0;

overflow: hidden;
font-size: 1.2em;
width: 100%;
clear: both;
background: #ffffff;

-webkit-border-bottom-right-radius: 5px;
-webkit-border-bottom-left-radius: 5px;
-moz-border-radius-bottomright: 5px;
-moz-border-radius-bottomleft: 5px;
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
/*
.acc_container .block {
padding: 20px;
}*/

.recomendationsTable{
width:100%;overflow:hidden;
}
.recomendationsTable tr{
border:#2F5882 1px solid;
}
.recomendationsTable tr th{
color :#ffffff;
background-color: #93A8BF;
}
.recomendationsTable tr .odd{
color :#FFFFFF;
background-color: #8EA4BB;
border:#2F5882 1px solid;
}
.recomendationsTable tr .even{
color :#2F5882;
background-color: #EDF1F5;
border:#2F5882 1px solid;
}    

我的动态 Accordion 创作

$('#detailTable').empty();
$('<div>')
.attr('id','healthCheckSpan')
.html('<div class="titleBlue" width="100%">Health Check Summary</div>'+
        '<table width="100%">'+
                '<tr >'+
                    '<td align="left" width="100%">'+

'<div class="container">'+
'<div class="acc_panel">'+
'<div class="acc_trigger" ><img src="/csm/view/include/images/erroricon.png"/><a   href="#" >Error</a></div>'+
'<div class="acc_container">'+
'<div class="block">'+htmlTableError+
'</div></div>'+

'<div class="acc_trigger" ><img src="/csm/view/include/images/warningicon.png"/><a href="#" >Warning</a></div>'+
'<div class="acc_container">'+
'<div class="block">'+htmlTableWarning+
'</div></div>'+

'<div class="acc_trigger" ><img src="/csm/view/include/images/infoicon.png"/><a href="#" >Info</a></div>'+
'<div class="acc_container">'+
 '<div class="block">'+htmlTableInfo+
 '</div></div>'+
                    '</td>'+
                '</tr>'+

        '</table>'+
    '</div>')       
.appendTo('#detailTable').delay(10).queue(function(){
    //Set default open/close settings
    $('.acc_container').hide(); //Hide/close all containers
    $('.acc_trigger:first').addClass('active').next().show(); //Add "active" class to first trigger, then show/open the immediate next container

    //On Click
    $('.acc_trigger').click(function(){
        if( $(this).next().is(':hidden') ) { //If immediate next container is closed...
            $('.acc_trigger').removeClass('active').next().slideUp(); //Remove all "active" state and slide up the immediate next container
            $(this).toggleClass('active').next().slideDown(); //Add "active" state to clicked trigger and slide down the immediate next container
        }
        return false; //Prevent the browser jump to the link anchor
    });       
});

容器

<div id="detailTable" style="width:100%;">

</div>

更新

下面的函数在从服务器收到响应后调用,它填充htmlTableWarninghtmlTableErrorhtmlTableInfo

function(xmldata)
      {
            xml=$(xmldata);
            warningtr=0;
            errortr=0;
            infotr=0;
            htmlTableWarning='<table class="recomendationsTable"><tr><th align="left">Recommendation(s)</th></tr>';
            htmlTableError='<table class="recomendationsTable"><tr><th align="left">Actions</th></tr>';
            htmlTableInfo='<table class="recomendationsTable"><tr><th align="left">Actions</th></tr>';

            $(xml).find('Response').each(function(){
                  var cid = $(this).find('cfgId').text();
                  if(cid==cfgid) {   
                        var newXmlString = $(xml).find('recommendations').text();
                        var newXml = $("<div/>").html(newXmlString);
                        var ruleseverity=$(newXml).find('severity').text();

                        if(ruleseverity=="warning")  {
                          /*var rulename=$(newXml).find('name').text();
                          var rulecategory=$(newXml).find('category').text();
                          var ruleresult=$(newXml).find('ruleEvalResult').text();*/
                          var ruleactionresult=$(newXml).find('actionResult').text();
                          if(warningtr%2==0)
                              htmlTableWarning+=('<tr class="even"><td>'+ruleactionresult+'</td></tr>');
                          else
                              htmlTableWarning+=('<tr class="odd"><td>'+ruleactionresult+'</td></tr>');
                          warningtr++;
                        }
                        else 
                            htmlTableWarning+=('<tr class="even"><td>No Recommendations</td></tr>');

                        if(ruleseverity=="error")
                        {
                            var ruleactionresult=$(newXml).find('actionResult').text();
                            if(errortr%2==0)
                                htmlTableError+=('<tr class="even"><td>'+ruleactionresult+'</td></tr>');
                            else
                                htmlTableError+=('<tr class="odd"><td>'+ruleactionresult+'</td></tr>');
                            errortr++;
                        }
                        else 
                            htmlTableError+=('<tr class="even"><td>No Recommendations</td></tr>');

                        if(ruleseverity=="information")
                        {
                            var ruleactionresult=$(newXml).find('actionResult').text();
                            if(infotr%2==0)
                                htmlTableInfo+=('<tr class="even"><td>'+ruleactionresult+'</td></tr>');
                            else
                                htmlTableInfo+=('<tr class="odd"><td>'+ruleactionresult+'</td></tr>');
                            infotr++;
                        }
                        else 
                            htmlTableInfo+=('<tr class="even"><td>No Recommendations</td></tr>');
                  }
            });
            htmlTableWarning+="</table>";
            htmlTableError+="</table>";
            htmlTableWarning+="</table>";
      }

最佳答案

问题来了:

htmlTableWarning+="</table>";
htmlTableError+="</table>";
htmlTableWarning+="</table>";

我想第三个应该是 htmlTableInfo

关于jquery - 不均匀的 div 样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6938371/

相关文章:

javascript - 在 JS 中更新 Bokeh 图

javascript - 使用 Ajax 将 FileList 发送到 PHP 脚本

java - 用于 Java Web 应用程序的动态 LESS 编译器?

html - 每个导航项中的居中对齐下拉菜单

css - 无缝 SVG 循环

jquery - 如果选项为 'Single Option',我如何才能显示字符串

javascript - 使用 ajax 发布时显示加载图像不起作用

jquery - 我可以使用 jQuery 更改页面上链接的内容吗?

javascript - 菜单上的文本重叠( Bootstrap )

html - 摆脱-webkit-padding-start : 40px