js和data-url代替a标签

看到这样一段代码

<ul id="sidebar-menu" class="bm-menu">
                        <li class="bm-menu-item" data-id="2">
                            <a class="bm-menu-title" data-url="pages/form.html">
                                <i class="bm-menu__icon iconfont icon-doc"></i>
                                <span class="bm-menu__label">表单</span>
                            </a>
                        </li>
                        <li class="bm-menu-item" data-id="3">
                            <a class="bm-menu-title" data-url="pages/404.html">
                                <i class="bm-menu__icon iconfont icon-doc"></i>
                                <span class="bm-menu__label">404</span>
                            </a>
                        </li>
</ul>

跳转没用a标签,而是用了div加h5的自定义属性,因为a标签有种种不确定性,比如在各种浏览器的表现形式不统一,而且鼠标hover的时候页面下方会有链接,显得很low。而div+自定义属性,在js中获取链接,通过$('.new').attr('url')获取地址,然后把链接 window.href。
当然,data属性可以使用dataset拿到,是一个对象。但使用dataset操作data 要比使用getAttribute和setAttribute速度稍微慢些,使用dataset不能提高代码的性能,但是对于简洁代码,提高代码的可读性和可维护性是很有帮助的。

posted @ 2020-04-09 16:19  shetoutou  阅读(991)  评论(0编辑  收藏  举报