Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.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 HTML隐藏标记与JS createElement_Javascript_Html - Fatal编程技术网

Javascript HTML隐藏标记与JS createElement

Javascript HTML隐藏标记与JS createElement,javascript,html,Javascript,Html,它是一个YouTube iframe和一些大约5或更少的div,显示视频数据,如标题、时间、进度条和底部的随机视频部分。如果视频不存在,则不应显示这些标题、时间和进度div,如果用户在随机视频中单击,则应再次显示这些div 那么,在用JS单击按钮时生成隐藏标记并显示它们是更快,还是根本不生成它们并使用createElement创建它们 利/弊是什么?当然,哪个更快 增量时间真的很重要吗?两者都是很好的选择,但它们之间的区别是HTML的解析速度比JS快得多,因为加载页面后不需要对其进行解释。但是j

它是一个YouTube iframe和一些大约5或更少的div,显示视频数据,如标题、时间、进度条和底部的随机视频部分。如果视频不存在,则不应显示这些标题、时间和进度div,如果用户在随机视频中单击,则应再次显示这些div

那么,在用JS单击按钮时生成隐藏标记并显示它们是更快,还是根本不生成它们并使用createElement创建它们

利/弊是什么?当然,哪个更快


增量时间真的很重要吗?

两者都是很好的选择,但它们之间的区别是HTML的解析速度比JS快得多,因为加载页面后不需要对其进行解释。但是javascript也会锁定元素,这样就不能手动修改它

例如,您正在阅读的答案需要大约2毫秒才能加载到页面上。。。但如果你做到了:

var answer = createElement('div');
answer.innerHTML = "Both are good options...";
document.body.appendChild(answer);
每条线路大约需要5毫秒,加起来总共需要15毫秒。让它慢一点。但是,如果你只对少数几个元素进行测试,那就不会太激烈了


现在,如果您使用的是chrome/firefox/safari,请尝试执行CTRL+SHIFT+I或F12。。。您应该会看到“开发人员工具”弹出窗口。。如果你把这个答案设为隐藏,你将看不到这个答案。但是你仍然可以修改它的代码。当你解开它时,它会显示新的代码。Javascript将防止这种情况发生,但是如果元素已经生成,或者元素中有很多内容,那么只需使用hidden

我将使用css显示标记。这取决于你到底想做什么。你能提供更多关于这个场景的信息吗?我怀疑你是否需要担心性能,除非你正在添加数千个元素。此外,除非你在谈论ajax上的404,否则通常你只需显示一个简单的404 html页面,然后就可以了。检查我更新的问题@Timmerzset,用所有html设置你的页面,以显示你想要的内容,然后使用css和javascript根据视频是否加载等隐藏/显示。我认为这个答案不准确。3行javascript需要15毫秒?你从哪儿弄来的?这听起来很荒谬。另外,我不确定javascript锁定元素是什么意思。javascript不会锁定任何元素。它们很容易用javascript进行操作。那么使用什么更好呢?从服务器端创建它们,并使用js隐藏或创建它们?有几个div大约有4到5个,只有两个单词,一个歌曲标题和一个进度条@Timmerzjavascript通常用于动态页面。听起来你只是需要一些简单的东西,所以我只需要html和用css隐藏/显示。我认为你应该提供更多关于你想做什么的背景。