Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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
Javascript 哪个电话更贵?显示隐藏dom节点或创建删除dom节点_Javascript_Jquery_Dom - Fatal编程技术网

Javascript 哪个电话更贵?显示隐藏dom节点或创建删除dom节点

Javascript 哪个电话更贵?显示隐藏dom节点或创建删除dom节点,javascript,jquery,dom,Javascript,Jquery,Dom,哪个电话更贵 显示隐藏dom节点或 创建删除dom节点 假设我们只需要操作1个dom或几个(少于5个)节点,并且应用程序运行在桌面上 对于一小部分人来说,这有什么关系吗? 对于移动应用程序呢?这两者之间的差异将是无穷小的,仅在少数几个元素上——它可以被认为是完全可以忽略的 也就是说,除非使用jQuery的.show()和.hide(),否则通过CSS显示和隐藏元素会更快。jQuery的.hide()比任何其他隐藏元素的方法都慢得多。如果您想知道原因,请阅读我答案底部的“为什么.hide()较慢?

哪个电话更贵

  • 显示隐藏dom节点或
  • 创建删除dom节点
  • 假设我们只需要操作1个dom或几个(少于5个)节点,并且应用程序运行在桌面上

    对于一小部分人来说,这有什么关系吗?
    对于移动应用程序呢?

    这两者之间的差异将是无穷小的,仅在少数几个元素上——它可以被认为是完全可以忽略的

    也就是说,除非使用jQuery的
    .show()
    .hide()
    ,否则通过CSS显示和隐藏元素会更快。jQuery的
    .hide()
    比任何其他隐藏元素的方法都慢得多。如果您想知道原因,请阅读我答案底部的“为什么
    .hide()
    较慢?”部分

    无论如何,你应该根据哪种方法最适合你的需要来做出决定。如果您不再需要该元素,您也可以将其删除。如果你只是不想隐藏一段时间或在某些情况下,显示/隐藏它

    但是如果你想自己测试它,:)


    为什么
    .hide()
    速度较慢? jQuery的
    .hide()
    基本上与使用
    .css('display','none')
    相同,只是它缓存了
    display
    样式的前一个值,因此当调用
    .show()
    时,元素将正确还原为与原来完全相同的外观。如果它有
    display:inline
    ,当它重新显示时,它就会有它。如果它有
    display:block
    ,它将有
    display:block
    。这可能非常有用

    下面是一个例子:

    假设我们有一个id为=“myDiv”的div,它在一个外部文件中使用
    display:inline
    设置样式。我们想把它藏起来

    使用
    .css
    方式,我们可以做到:

    $('#myDiv').css('display','none');
    
    然后,稍后某个时候,您的一个开发伙伴希望在特定条件下再次展示它。他不知道显示属性应该是什么,因为css在某个外部文件中。大多数开发人员默认使用
    显示:block
    ,如下所示:

    $('#myDiv').css('display','block');
    
    然而,在这种情况下,我们会得到一种完全不同的样式,因为它最初是
    内联的
    。一个聪明的开发人员会毫不费力地找出哪里出了问题,但并非所有的开发人员都是聪明的:)


    有了
    .show()
    .hide()
    ,这就不成问题了。我们不在乎它以前是什么风格的。我们只想让它回到原来的位置,这正是它要做的

    这两个元素之间的差异将是无穷小的,只有少数元素可以忽略不计

    也就是说,除非使用jQuery的
    .show()
    .hide()
    ,否则通过CSS显示和隐藏元素会更快。jQuery的
    .hide()
    比任何其他隐藏元素的方法都慢得多。如果您想知道原因,请阅读我答案底部的“为什么
    .hide()
    较慢?”部分

    无论如何,你应该根据哪种方法最适合你的需要来做出决定。如果您不再需要该元素,您也可以将其删除。如果你只是不想隐藏一段时间或在某些情况下,显示/隐藏它

    但是如果你想自己测试它,:)


    为什么
    .hide()
    速度较慢? jQuery的
    .hide()
    基本上与使用
    .css('display','none')
    相同,只是它缓存了
    display
    样式的前一个值,因此当调用
    .show()
    时,元素将正确还原为与原来完全相同的外观。如果它有
    display:inline
    ,当它重新显示时,它就会有它。如果它有
    display:block
    ,它将有
    display:block
    。这可能非常有用

    下面是一个例子:

    假设我们有一个id为=“myDiv”的div,它在一个外部文件中使用
    display:inline
    设置样式。我们想把它藏起来

    使用
    .css
    方式,我们可以做到:

    $('#myDiv').css('display','none');
    
    然后,稍后某个时候,您的一个开发伙伴希望在特定条件下再次展示它。他不知道显示属性应该是什么,因为css在某个外部文件中。大多数开发人员默认使用
    显示:block
    ,如下所示:

    $('#myDiv').css('display','block');
    
    然而,在这种情况下,我们会得到一种完全不同的样式,因为它最初是
    内联的
    。一个聪明的开发人员会毫不费力地找出哪里出了问题,但并非所有的开发人员都是聪明的:)


    有了
    .show()
    .hide()
    ,这就不成问题了。我们不在乎它以前是什么风格的。我们只想让它回到原来的位置,这正是它要做的

    启动JSPerf并找出答案:)启动JSPerf并找出答案:)