【问题标题】:Dynamic append Div using Jquery or Javascript使用 Jquery 或 Javascript 动态追加 Div
【发布时间】:2014-01-20 13:39:05
【问题描述】:

我想一个接一个地追加多个 div。 在我的场景中,我从 SharePoint 检索数据,并从中获得一些变量值,如下所示 变量:- StartTime、EndTime、MeetingTitle、RoomNo.

 $(xData.responseXML).find("z\\:row, row").each(function() {
     var StartTime = $(this).attr("ows_EventDate");
     var EndTime = $(this).attr("ows_EndDate");
     var MeetingTitle = $(this).attr("ows_Title");
     var BuildingName = $(this).attr("ows_BuildingName");
     var RoomNo = $(this).attr("ows_Facilities");
   }

 

在每次循环迭代获取变量值后,我想将这些变量值一个接一个地附加到 div 中。并创建页面正文。 在 div 我想在下面的位置分配值

span id - RoomNo - RoomNo(变量值)

span id - StartTime - StartTime(变量值)

span id - EndTime - EndTime(变量值)

td id= MeetingTitle – MeetingTitle(变量值)

Div 如下所示,

  <div class="box"  style="float:left">
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <td valign="top">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td align="center"><span class="acqabold">Room No.</span><br />
              <span class="numberbold" id="RoomNo">01</span></td>
              <td align="right"><span class="smacqabold" id="Today">YYYY<br>
              DD Month </span><br> 
              <span class="bluebold" id="StartTime">08.00</span> <span class="smbluebold">to</span><span class="bluebold" id="EndTime">10.00</span></td>
          </tr>
        </table>
      </td>
      <tr>
          <td align="center"  class="bluehead" id="MeetingTitle">
            XYZ Meeting.
          </td>
      </tr>
    </table>
  </div>
  <div class="box"  style="float:left">
    //same as above
  </div>
  <div class="box"  style="float:left">
    //same as above
  </div>
  <div class="box"  style="float:left">
    //same as above
  </div>
  .............
  .
  .

     

div 的数量等于循环迭代。 所以请建议我如何实现它。

非常感谢和问候, 迪甘巴尔·卡希德

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    如果你可以给容器盒一个 ID(对于这个例子 id="container")你可以使用 jQuery:

    $("#container").append("<div ...");
    

    【讨论】:

      【解决方案2】:
      Add one parent Container id i named parentContainer in this below example
      
      var boxLength = $( ".box" ).length();
      
      for(var i=0;i<=boxLength;i++){
      
      $("#parentContainer") . append ('<div class="box"  style="float:left">
                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                                      <tr>
                                        <td align="center"><span class="acqabold">Room No.</span><br />
                                          <span class="numberbold" id="RoomNo">' + RoomNo + '</span></td>
                                          <td align="right"><span class="smacqabold" id="Today">YYYY<br>
                                          DD Month </span><br> 
                                          <span class="bluebold" id="StartTime">' + StartTime + '</span> <span class="smbluebold">to</span><span class="bluebold" id="EndTime">'+EndTime+'</span></td>
                                      </tr>
                                    </table></td>
                                         <tr>
                                  <td align="center"  class="bluehead" id="MeetingTitle">
                                   '+ MeetingTitle +'</td>
                                </tr>
                        </table>
                      </div> ');
      
      }
      

      【讨论】:

      • 当你写一个答案时,你应该注意清楚你的建议并且应该是正确的。你有例如+ StartTime + 在字符串中,我假设您想在其中插入 StartTime 值,但由于它是 in 字符串,这将在那里显示为 ` + StartTime +` 而不会 插入 StartTime 的值。 StartTime 的值分配在哪里?它应该在循环中的某个地方,但那里什么都没有,至少应该有一条评论。如果多行字符串在 javascript 中工作,您是否尝试过?
      • 现在仍然缺少将值分配给 StartTime, ... 的位置。而且您的代码 - 虽然功能不完整 - 至少应该具有正确的语法。
      猜你喜欢
      • 2022-01-12
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-10
      • 2013-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多