老师,我获取menus 为什么获取到多出来一部分?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2022-09-15 14:24:51

同学你好,可能是页面中渲染了不只一个id是menus的元素,所以获取到的内容会有问题。建议检查一下渲染后的页面的html结构,看是否有问题。

祝学习愉快!

  • 提问者 闪电打雷躲树下 #1

    老师能根据我的思路改一下吗

    获取不到想要的dom元素

    // import './menu'
    import render from './menu.art'
    import './menu.css'
    import { getData } from 'api/getData'
    const layOutEL = document.querySelector('#v-menu')
    
    getData('https://www.imooc.com/api/mall-PC/index/menu').then((data) => {
      console.log(data)
    
      layOutEL.innerHTML = render({ data })
    
      const ullis = document.querySelector('.v-menu ul')
      console.log(ullis)
    
      ullis.onmousemove = (e) => {
        if (e.target.tagName.toLowerCase() == 'li') {
          const dataN = e.target.dataset.n
          let item = document.querySelector('.menu[data-n=' + dataN + ']')
          console.log(item)
          getData('https://www.imooc.com/api/mall-PC/index/menu/' + dataN).then(
            (data1) => {
              console.log(data1)
    
              item.innerHTML = render({ dataN, data1 })
              console.log(item.innerHTML)
            }
          )
        }
      }
    })


    2022-09-15 14:47:17
  • 提问者 闪电打雷躲树下 #2
    <div class="v-menu-box" id="v-menu-box">
                    <nav class="v-menu" id="v-menu">
                        <ul>
                        {{each data}}
                            <li data-n="{{$value.key}}">
                                <div class="inn">
                                    <div class="t">{{$value.title}}</div>
                                    <div class="e">
                                      {{each  $value.subTitles}}
                                        <em>{{$value}}</em>
                                       {{/each}}
                                    </div>
                                </div>
                            </li>
                            {{/each}}
    
                        </ul>
                    </nav>
                 
                    <div class="menus" id="menus">
                        <div class="menu" data-n="{{dataN}}">
                            <div class="menu_inn">
                                <dl>
                                {{each data1}}
                                    <dt>{{$value.title}}</dt>
                                    <dd>
                                    {{each $value.cities}}
                                        <a href="">{{$value.text}}</a>
                                        {{/each}}
                                    </dd>
                                    {{/each}}
                                 
                                </dl>
                            </div>
                        </div>
    
                   
                    </div>
                </div>

    二级菜单部分

    2022-09-15 14:48:51
  • 问题特殊,请查看微信消息~

    2022-09-15 15:04:07
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师