美文网首页
JS-原生-遍历子标签的所有父标签

JS-原生-遍历子标签的所有父标签

作者: 卓敦 | 来源:发表于2019-09-27 20:22 被阅读0次

用多了框架,有时候会忘记原生的咋写,最近本人在写一个选项卡,类似小米闪购网站的那种


image.png

选项卡的代码结构如下

<ul id="buy_nav_ul">
    <li id="1" class="avtive"><em>18:00</em><span> <em>即将开始<br>01:25:15</em></span></li>
    <li id="2"><em>20:00</em> 即将开始</li>
    <li id="3"><em>22:00</em> 即将开始</li>
    <li id="4"><em>18:00</em> 即将开始</li>
    <li id="5"><em>18:00</em> 即将开始</li>
</ul>

我的需求是点击指定选项卡获取li标签的id值,但是当我点击文字所在的标签时(类似上面代码的em或者span标签),获取到的id是null,
因为点击获取到的em或者span标签是没有id值的,所以需要获取父标签,像第一个li的倒计时标签,父标签并不是li,所以需要遍历父标签。

var buy_ul = document.getElementById("buy_nav_ul");
buy_ul.addEventListener("click",clickBuyLi);
function clickBuyLi(event) {
    var id = event.target.getAttribute("id");
    if (id == null) {
        var parentE = event.target;
        do {
            parentE = parentE.parentNode;
        }
        while (parentE.getAttribute("id") == null);
        id = parentE.getAttribute("id");
    }
    console.log(id);

}

虽然用jQuery可以快速搞定,但是我还是用原生写,因为我是小白。写的不好的轻点喷,有什么不好的地方请指出,谢谢

相关文章

  • JS-原生-遍历子标签的所有父标签

    用多了框架,有时候会忘记原生的咋写,最近本人在写一个选项卡,类似小米闪购网站的那种 选项卡的代码结构如下 我的需求...

  • 复合选择器

    一、复合选择器1)子选择器 父标签>子标签:将样式应用于该父标签下的第一级所有直接子标签父标签>.class类名:...

  • 微信小程序-动态获取view高度

    因为对小程序父标签和子标签的布局还不是特别了解,不像ios,父标签固定,子标签通过mansory去布局距离父的底部...

  • JS事件冒泡和事件捕捉

    子标签和父标签都绑定事件,点击子标签,先触发子的绑定事件,再触发父的绑定事件,叫做事件冒泡。 反之,先触发父,后触...

  • Swift - Mirror - Get Property

    获取实例对象对应的属性标签和值(不包括父类属性) 如果需要获取所有属性,需要遍历父类 mirror.supercl...

  • Vue阻止冒泡点击事件

    当我们在父标签定义了点击事件,在子标签定义的也有点击事件,那么点击字标签的时候就会触发父标签的点击时间和子标签的事...

  • 小屏时出现水平滚动条

    原理子标签超出父标签的宽度 实现方法为父标签设置:overflow:auto固定子标签的宽度,使其与选项卡的宽度和...

  • python爬虫3:beautifulsoupp实践

    当用text提取纯文本时,获取标签内所有纯文本信息 父标签只能提取自身的属性值,不能提取子标签的属性值 写循环,存...

  • slot详解以及tmplate模板占位符

    将子组件引入父组件中,在引入的子组件标签对中,写入信息,子组件可以通过slot标签对去展示父组件的内容,如果父组件...

  • BeautifulSoup文档学习2-遍历文档树

    遍历文档树 《爱丽丝梦游仙境》作为示例: 子节点(向下遍历) ​ 标签可能包含字符串或者其他的标签,这些都是这...

网友评论

      本文标题:JS-原生-遍历子标签的所有父标签

      本文链接:https://www.haomeiwen.com/subject/rdmoectx.html