Javascript 在客户端将一个大HTML页面拆分为多个页面

Javascript 在客户端将一个大HTML页面拆分为多个页面,javascript,html,Javascript,Html,我有一个巨大的HTML页面,主要是一个表单,大致如下: <FIELDSET id= '1'> <TABLE> <TR> </TR> </FIELDSET> </TABLE> . . . <FIELDSET id= 'n'> <TABLE> <TR> </TR> </TABLE> . . . 服务器上由动态生成的字段集的数量 问:在客

我有一个巨大的HTML页面,主要是一个表单,大致如下:

<FIELDSET id= '1'>
<TABLE>
  <TR> </TR>
</FIELDSET>
</TABLE>
   .
   .
   .
<FIELDSET id= 'n'>
<TABLE>
  <TR> </TR>
</TABLE>

.
.
.

服务器上由动态生成的字段集的数量

问:在客户端,我想对这个巨大的页面进行分页,这样在客户端上每页只显示3个字段集。
我不想更改当前加载页面或提交表单的方式。

如果在客户端进行分页,则除了视觉效果(没有速度提高、负载降低等)外,其他任何方面都不会对您有任何帮助,但如果您希望这样做,则可以使用DOM操作。类似于以下内容的内容可能适合您:

    var i=0,sets=document.getElementsByTagName('fieldset'),len=sets.length;
    for(;i<len;i+=3) {
        // wrap sets[i] through sets[i+2], as long as they exist, in a div
        // if i !== 0, hide or minimize the div
    }
    // add controls to unhide/unminimize each div
var i=0,set=document.getElementsByTagName('fieldset'),len=set.length;

对于(;i好吧,这是一些你可以使用的小技巧

$('fieldset')
document.querySelectorAll('fieldset')
将返回您的字段

为了获得仅显示i..i+3字段集,您可以使用

var i = 3

$('fieldset').hide().each(function ( index, el) {
   if (index >= i && index < i+3) $(el).show() 
})


var fieldsets = [].slice(document.querySelectorAll('fieldset'))


for (var index in fieldsets) {
    var display = index < i && index >= i+3 ? 'none' : ''
    fieldsets[index].style.display = display
}
var i=3
$('fieldset').hide().each(函数(索引,el){
如果(索引>=i&&index=i+3?“无”:”
字段集[index].style.display=display
}

它是由
结束标记之前的
结束标记生成的(尽管
看起来应该在
内),还是问题中的打字错误?是的。更新了代码。谢谢!