如何使用javascript在jsp页面中动态添加内容?

Sau*_*mil 2 javascript jquery jsp

MyServlet 转发到 Mypage.jsp 作为

request.getRequestDispatcher("/pages_homepage.jsp?value="+count).forward(request, response);
Run Code Online (Sandbox Code Playgroud)

其中 count 是生成的整数值

下面是我的 JSP 代码(Mypage.jsp),

<body  onload="getPage('<%request.getParameter("value");%>')">
    <div id="app"></div>
</body>
Run Code Online (Sandbox Code Playgroud)

下面是我的javascript代码,

function getPage(match){
    var arr = new Array();
    var ele = document.getElementById('app');
    for(var i=0;i<match;i++){
        var newdiv = document.createElement("label");
        newdiv.id = arr[i];
        newdiv.value="Page";
        ele.appendChild(newdiv);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要的是,我希望“页面”显示“匹配”次数。但是我无法通过上面的代码做到这一点。他们的 js 代码可能有问题。任何人都可以建议我进行任何更正吗?提前致谢。

Rok*_*jan 5

现场演示

考虑到您的页面具有以下内容:

<body  onload="getPage(5)">
Run Code Online (Sandbox Code Playgroud)

function getPage(n) {

   var ele = $('#app');
   var labels = ""; // An empty string will be populated with labels elements:
   for(var i=0; i<n; i++){
       labels += '<label id="'+ i +'"> Page </label>'
   }
   ele.append( labels ); // append only once outside the loop!

}
Run Code Online (Sandbox Code Playgroud)

结果将是:

 <label id="0"></label>
 <label id="1"></label>
 <label id="2"></label>
 <label id="3"></label>
 <label id="4"></label>
Run Code Online (Sandbox Code Playgroud)

如果你想从而1不是0使用开始:

labels += '<label id="'+ (i+1) +'"> Page </label>'
Run Code Online (Sandbox Code Playgroud)

注意: ID以(/仅包含)一个数字开头 - 仅在 HTML5 中有效

  • @TiiJ7 我正要写下 *ID 以数字开头* 并且 *仅包含数字* 在 **HTML5** 中**完全有效**。 (2认同)