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') } }