for循环输出的div如何根据某一个变量的值动态修改div属性

解决方案 »

  1.   

    for循环输出的div
    --你是拼接字符串输出的html?那你就动态的拼接字符串不就行了!~?
      

  2.   

    for循环输出的div模块是根据一个变量换行的,我要做的效果是每一层div的margin-left值不同
      

  3.   

    动态输出,或者在输出的时候给DIV赋ID值,然后根据ID值用js修改
      

  4.   

    不太清楚lz的描述
    你可以根据for(int i=0;...)
    根据i去设置不同div的margin-left
      

  5.   

    这样做,循环几遍每个div就会输出几遍啊!要怎么做,有代码参考更好
      

  6.   

    原图和效果图都在我的相册里。原图中第二行第三行是通过for循环输出的
      

  7.   

    先按照你的效果图写好css样式,比如第一层的样式命名成.test0,第二层的样式.test1,第三层.test2
    .test0 div{margin:0 250px 0 250px;}
    .test1 div{margin:0 100px 0 100px;}
    .test3 div{margin:0 50 px 0 50px;}
    for循环的时候把每个正方形的DIV放入一个大的DIV中(拼接字符串),这个DIV独占一行,并给这个DIV赋calss如:
    <div class="test0">
       <div>第一层</div>
    <div>
    <div class="test0">
       <div>第二层</div><div>第二层</div>
    <div>
    当然,上面的样式,也可以在后台cs页面中动态生成,最后输出到aspx页面。
      

  8.   

    <div class="test0">
      <div>第一层</div>
    <div>
    <div class="test1">
      <div>第二层</div><div>第二层</div>
    <div>
    <div class="test2">
      <div>第三层</div><div>第三层</div><div>第三层</div><div>
      

  9.   


    <div style="width: auto; height: auto; text-align: center">
                <%
                    if (IsPostBack)
                    {
                        if (shuzu.Length > 0)
                        {
                            Response.Write("<div class =\"biankuang\" >");
                            Response.Write(sjId);
                            Response.Write("</div>");
                            Response.Write("<br><br><br>");
                        }
                        else
                        {
                            Response.Write("<div class =\"biankuang\" >");
                            Response.Write(sjId);
                            Response.Write("</div>");
                        }
                        for (int i = 0; i < shuzu.Length; i++)
                        {
                            try
                            {                            if (shuzu1[(shuzu.Length - 1 - i)] == shuzu1[(shuzu.Length - 2 - i)])
                                {                                Response.Write("<div class =\"biankuang\" >");
                                    Response.Write(shuzu[i]);
                                    Response.Write("&nbsp;");
                                    Response.Write(dt4.Rows[i][0]);
                                    Response.Write("</div>");
                                }
                                else
                                {
                                    Response.Write("<div class =\"biankuang\" >");
                                    Response.Write(shuzu[i]);
                                    Response.Write("&nbsp;");
                                    Response.Write(dt4.Rows[i][0]);
                                    Response.Write("</div>");
                                    Response.Write("<br><br><br>");
                                }
                            }
                            catch (Exception ex) { }
                        }
                        if (shuzu.Length > 0)
                        {
                            Response.Write("<div class =\"biankuang\" >");
                            Response.Write(shuzu[shuzu.Length - 1]);
                            Response.Write("&nbsp;");
                            Response.Write(dt4.Rows[dt4.Rows.Count - 1][0]);
                            Response.Write("</div>");
                        }
                    }
                %>
            </div>
    这是前台循环输出的div的代码,如何把每一层放在一个div中啊
      

  10.   

    你的算法写的很乱,可以用二层循环输出吧。
    aspx页面
    <asp:Literal ID="litCss" runat="server"></asp:Literal>
    <asp:Literal ID="litDivHtml" runat="server"></asp:Literal>cs页面
    StringBuilder HtmlString = new StringBuilder("<div style="width: auto; height: auto;text-align: center">");
    StringBuilder CssString = new StringBuilder("<style type='text/css'>");
    int marginValue=0;
    for(int i=0;i<层数;i++)
    {
       HtmlString.AppendFromat("<div class=\"test{0}\">",i);//每一层大的DIV在这里开始
       marginValue=500-(i*30);//这当中的数值要你自己定
    CssString.AppendFromat(".test{0}",i);CssString.Append{"{"};CssString.Append("margin:0 {0}px 0 {1}px",marginValue,marginValue);CssString.Append("}"); 
       for(int j=0;j<当前层的DIV个数;j++)
       {
           HtmlString.AppendFromat("<div>{0}</div>",你的数组值);
       }
    HtmlString.Append("</div>");
    }
    CssString.Append("</style>");
    HtmlString.Append("</div>");
    litCss.Text=CssString.ToString();
    litDivHtml.Text=HtmlString.ToString();大致就这些。
      

  11.   

    忘加换行转义符了,每一层结束时,和每一个Css结束时,加上\r\n换行,在生成的HTML代码中会更好看些。如:
    CssString.AppendFromat(".test{0}",i);CssString.Append{"{"};CssString.Append("margin:0 {0}px 0 {1}px",marginValue,marginValue);CssString.Append("}\r\n");
      
    HtmlString.Append("</div>\r\n");
    litCss.Text=CssString.ToString();
    litDivHtml.Text=HtmlString.ToString();
      

  12.   

    还有这里忘加DIV了 CssString.AppendFromat(".test{0} div",i);CssString.Append{"{"};CssString.Append("margin:0 {0}px 0 {1}px",marginValue,marginValue);CssString.Append("}\r\n");