通过使用点击事件侦听器将HTML减轻50%
Lighten HTML by 50% by using click event listeners ?
我刚刚读了这篇文章HERE,作者说:
还要尽量保持HTML结构尽可能简单。回想起以下内容:
<ul>
<li><a href="somewhere">Some text</a></li>
</ul>
可随时替换为:
<ul>
<li onclick="window.location.href='somewhere'">Some text</li>
</ul>
我们只是将HTML结构简化了50%。如果你有100行,你会有100个标签,而不是200个。(当然我会用偶数监听器转而使用内联onclick。
我们是如何将HTML减轻50%的??我不太明白。有人能解释一下吗?
谢谢。
我想作者想声明,在(只有li标签):中,每个列表项只有一个html标签
<li onclick="window.location.href='somewhere'">Some text</li>
但其中有两个标签(a和li标签):
<li><a href="somewhere">Some text</a></li>
然而,我不知道这是否会对性能产生影响!当然,如果像@Ramanlfc所说的那样禁用java脚本,那将是令人失望的。但Javascript也是现代编程的一部分。如果被禁用,许多SPAs将无法工作!
如果你有100行,你会有100个标签,而不是200个
如前所述,这一定是因为没有锚定标记。问题是,你在评论中描述了其他类型(更严重)的问题,这是一个糟糕的建议。
这是我的2美分。
如果目标是在不使用任何gzip和依赖JavaScript进行导航的情况下减轻/缩小HTML,那么我会疯狂地做一些事情,比如:
<ul>
<li data-go="somewhere">Some text</li>
</ul>
正如作者所提到的:
(当然,我会在内联onclick上使用事件侦听器。)
用JavaScript做某事:
var lis = document.querySelectorAll('li');
for (var i = 0; i < lis.length; i++) {
lis[i].addEventListener('click', function() {
window.location.href = this.getAttribute('data-go');
});
};
但正如你可能已经猜到的,这将是我绝望的顶点。由于我正在疯狂地保存字节,我会继续使用class
属性来存储转到位置,而不是data-
属性。
相关文章:
- 无法使用 JavaScript 在 HTML 表中放置带有事件侦听器的按钮
- 使用函数制作的 HTML 元素具有相同的事件侦听器
- 动态添加元素的 Addinf 事件侦听器 - HTML/JS
- 使用 JavaScript 从 HTML 元素中删除一组特定的事件侦听器
- 交换两个 html 元素并保留其上的事件侦听器
- 通过 jquery 侦听器将 html 表单链接到 javascript 函数时遇到问题
- 如何在jquery的sweetalert对话框中为html按钮添加事件侦听器
- 反应:将事件侦听器添加到没有包装器 html 标记的道具中
- HTML 5 画布滚动事件侦听器不起作用
- 侦听器单击任何元素并读取特定的 HTML-5 自定义属性(如果存在)
- 为所有遵循类似ID结构的HTML对象创建更改侦听器的方法
- 通过使用点击事件侦听器将HTML减轻50%
- 动态创建的html的事件侦听器
- 事件侦听器是否与html事件相同
- 在HTML>/中添加均匀侦听器的方法是否正确?标签
- 将onchange事件侦听器添加到html输入字段中
- 向HTML span标记添加事件侦听器
- 将侦听器绑定到HTML中的动态生成内容
- 在替换的HTML DOM上添加事件侦听器
- 在html中动态添加事件侦听器