国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 要取 指定索引的ul 里的 所有l(wèi)i 怎么取

瀏覽:101日期:2023-03-22 15:46:29

問題描述

要取 指定索引的ul 里的 所有l(wèi)i 怎么取

我想這么寫var afterUl=document.querySelectorAll(’ul’)[sy-1];var afterLi=afterUl.querySelectorAll(’li’);但是下面的一行會報(bào)錯leilei.html:128 Uncaught TypeError: Cannot read property ’querySelectorAll’ of undefined。。。我應(yīng)該怎么寫。。新手求助

問題解答

回答1:

----- 06-03 14:50 -----

感謝 jasonintju 指出錯誤。

這里的報(bào)錯并不是因?yàn)闆]有 querySelectorAll 方法,是由于題主的 下標(biāo) 越界了,導(dǎo)致取到的 是 undefined,undefined 沒有 querySelectorAll 方法,故報(bào)錯。

正確的下標(biāo)寫法是沒有問題的。

補(bǔ)充文檔Element.querySelectorAll() - Web APIs | MDN

----- 06-03 04:30 -----

leilei.html:128 Uncaught TypeError: Cannot read property ’querySelectorAll’ of undefined

報(bào)錯信息已經(jīng)給你提示了,不能讀取querySelectorAll屬性,因?yàn)樗?undefined

原因是因?yàn)?querySelectorAll 是 document的方法,而不是 element的方法。

var afterUl = document.querySelectorAll(’ul’)[0];// document.querySelectorAll(’ul’) 通過 document 的方法 querySelectorAll 得到了當(dāng)前文檔下的所有 ul 元素,是一個 NodeList 類數(shù)組。之后假設(shè)通過 [0] 取到了這個 NodeList 中的第一個元素,那么 afterUl 這個變量指向的是一個 DOM 元素,也就是 elementvar afterLi=afterUl.querySelectorAll(’li’);// 這時用 afterUl 也就是一個 element 調(diào)用 querySelectorAll,由于 element 下沒有 querySelectorAll 這個方法 自然就報(bào)錯了

解決方案是使用 getElementsByTagName

var oUl = document.getElementsByTagName(’ul’)[0];var aLi = oUl.getElementsByTagName(’li’);

可以參考一下 JavaScript 文檔中關(guān)于這兩個 API 的介紹

Document.querySelectorAll - Web API 接口 | MDNelement.getElementsByTagName - Web API 接口 | MDN

或者使用 jQuery 的

var aLi = $(’ul’).eq(0).find(’li’);回答2:

實(shí)現(xiàn)的方式很多,你可以采用原生JavaScript,也可以用各種js庫來實(shí)現(xiàn)。這里采用原生JavaScript整理一個思路,在ul的DOM元素上添加一個id屬性,通過document.getElementById取出ul,然后通過getElementsByTagName取出li元素。

代碼如下:

<ul id='ul-wrap'> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li></ul>var ul_wrap = document.getElementById(’ul-wrap’);var li_item = ul_wrap.getElementsByTagName(’li’);console.log(ul_wrap);console.log(li_item);回答3:

let oLis = document.getElementsByTagName('ul')[index].getElementsByTagName('li');

回答4:

我自己找到錯誤了,是因?yàn)槲液竺娴乃饕齕sy-1]中變量sy的是之前遍歷所有l(wèi)i時候賦值的,因?yàn)樗衛(wèi)i比所有ul多很多,所以[sy-1]超過了ul的個數(shù),上面那行就會undefined 下面那行就報(bào)錯了。謝謝大家。。這問題太幼稚。。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 富源县| 明溪县| 安乡县| 天峻县| 怀来县| 当阳市| 左权县| 师宗县| 友谊县| 岳阳县| 青川县| 蕲春县| 荣成市| 海南省| 黄龙县| 库车县| 乌什县| 马龙县| 图们市| 康平县| 南部县| 屏边| 绥中县| 富蕴县| 大渡口区| 苗栗县| 阿瓦提县| 那曲县| 会同县| 吉首市| 海城市| 张家川| 綦江县| 信宜市| 东乡| 奉化市| 海原县| 泰和县| 荣昌县| 达孜县| 玛沁县|