js實現截取a標籤的href屬性和內容

    showCatalog = () => {//食堂百科-docx頁面添加目錄
        let docxStr = document.getElementById("docx").innerHTML,
            reg = /<a href="(.+?)">(.+?)<\/a>/gi,
            regCont = /<a[^>]*href=['"]([^"]*)['"][^>]*>(.*?)<\/a>/gi,
            nodeArr = docxStr.match(reg),//a標籤的數組
            hrefArr = [],//截取出來的href屬性
            codeArr = [],//截取的a標籤內容
            catalogAryList = [],//目錄總數據
            hrefReg = /(<a\b[^>]+\bhref=")(\S*)("[^>]*>)(.*?)(<\/a>)/;
        if (nodeArr !== null && nodeArr !== [] && nodeArr !== undefined) {
            for (let key in nodeArr) {
                let str = nodeArr[key];
                if (str.indexOf("#") >= 0) {
                    hrefArr.push((hrefReg.exec(str))[2])
                    codeArr.push((hrefReg.exec(str))[4])
                }
            }
            hrefArr.map((item, index) => {
                catalogAryList.push({
                    id: index,
                    href: item,//鏈接
                    msg: codeArr[index]//內容
                })
            })
            catalogObj.catalogAry = catalogAryList;
        } else {
           // console.log('empty')
        }

    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章