Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 克隆()或为大量迭代创建新元素是否更快?_Jquery_Performance_Clone - Fatal编程技术网

Jquery 克隆()或为大量迭代创建新元素是否更快?

Jquery 克隆()或为大量迭代创建新元素是否更快?,jquery,performance,clone,Jquery,Performance,Clone,第一个问题 我正在写一本书,里面每天都有一页。每次打开“书籍”(即应用程序)时,都会动态创建这些页面。这些页面都是AMEI的——它们只包含不同的数据库填充数据和不同的ID属性 假设我有: <div id="1" class="page"> <form action="addEntry"> <input type="text" name="entry"> <input type="submit" value="sub

第一个问题
我正在写一本书,里面每天都有一页。每次打开“书籍”(即应用程序)时,都会动态创建这些页面。这些页面都是AMEI的——它们只包含不同的数据库填充数据和不同的ID属性

假设我有:

<div id="1" class="page">
    <form action="addEntry">
        <input type="text" name="entry">
        <input type="submit" value="submit">
    </form>
</div>

我还需要364个

我可以做到:

<script>
    var page = $('.page'),
        pages = $('<div>').addClass('pages'),
        bod = $('body');

    page.appendTo(pages);

    for(var i = 0; i<364; i++) {
        var nextPage = page.clone().attr({ id:, i+2 }).html(populate()).appendTo(pages);
    }
    pages.appendTo(bod);
</script>

变量页=$('.page'),
pages=$('').addClass('pages'),
生化需氧量=$(“身体”);
第页。附录(页);

对于(var i=0;关于速度,最有效的方法是在循环完成后使用并附加所有结果。但是,如果不需要附加数千个元素,请使用您认为可读性和可维护性最强的方法/逻辑。通常,混合使用普通js方法和jq方法是不好的做法,这会带来麻烦。仅供参考,您可以测试所有方法顺便说一句,我建议只添加显示的页面,并根据用户导航动态创建以下页面⇈⇈ 一次追加365
表单
看起来真的很糟糕UX@A.Wolf-谢谢-第一部分和只创建显示页面的部分都很有意义,但是哪些简单的js和jq方法是混合的?为什么应用程序中有多个
s是不好的UX?
但是哪些简单的js和jq方法是混合的?
我的意思是,如果您开始使用documentFragment,并将其与一些方便的jquery方法混合使用,但是您的代码很好,因为您没有混合使用普通js和jq。现在我只是说,我想有比使用365个表单更好的方法来处理您的预期行为。但我不知道您到底在做什么,我只能猜测现在我明白你对混合的看法了。re:所有的表格-这本书是一本日记,一年中的每一天都有一页。有动画翻页,你可以看到当前页面背面的内容以及+或-2页上的内容。你也可以快速浏览、单击或拖动页面。我没有数据库中还没有任何真实的数据,因此我不确定动态呈现页面的速度。但我基本上是在每页使用
,这样只有新的或更改的条目才会提交到更新数据库的后端代码。关于速度的最有效方法是在循环完成后使用并附加所有结果。B但是,如果你不需要添加上千个元素,那么就使用你认为可读性和可维护性最好的方法/逻辑。通常情况下,将普通js方法和jq方法混合使用会带来麻烦。仅供参考,你可以在上测试所有代码段。顺便说一句,我建议只添加显示的页面,并动态或动态地创建以下页面epending用户导航⇈⇈ 一次追加365
表单
看起来真的很糟糕UX@A.Wolf-谢谢-第一部分和只创建显示页面的部分都很有意义,但是哪些简单的js和jq方法是混合的?为什么应用程序中有多个
s是不好的UX?
但是哪些简单的js和jq方法是混合的?
我的意思是,如果您开始使用documentFragment,并将其与一些方便的jquery方法混合使用,但是您的代码很好,因为您没有混合使用普通js和jq。现在我只是说,我想有比使用365个表单更好的方法来处理您的预期行为。但我不知道您到底在做什么,我只能猜测现在我明白你对混合的看法了。re:所有的表格-这本书是一本日记,一年中的每一天都有一页。有动画翻页,你可以看到当前页面背面的内容以及+或-2页上的内容。你也可以快速浏览、单击或拖动页面。我没有数据库中还没有任何真实的数据,因此我不确定页面可以以多快的速度动态呈现。但我基本上是在每页使用
,这样只有新的或更改的条目才会提交到更新数据库的后端代码。
<script>

var bod = $('bod'),
    pages = $('<div>').addClass('pages');

for(var i=0, i<364, i++) {       
    var page = $('<div>').addClass('page').attr(id, i+2),
        form = $('<form>').attr('action', 'addEntry').append(
            $('<input>').attr({ type: 'text', name: 'entry' }).append(
            $('<input>').attr({ type: 'submit', value: 'submit' });

        form.appendTo(page).appendTo(pages);
}

pages.appendTo(bod);

</script>