如何在JavaScript中从HTML元素提取指定字符串的剩余片段
提取WDA_ID后缀的几种JavaScript方法
方法一:使用replace直接替换前缀
如果已经拿到完整的WDA_ID字符串和固定前缀,直接将前缀替换为空字符串即可得到剩余部分:
const fullId = "ABCA950297D2C0C432BAB9BBF5A1BB48.07.MAINVIEW._0120"; const prefix = "ABCA950297D2C0C432BAB9BBF5A1BB48.07.MAINVIEW."; const suffix = fullId.replace(prefix, ""); console.log(suffix); // 输出 "_0120"
方法二:使用slice按长度截取
通过前缀的长度确定截取起始位置,直接从该位置截取到字符串末尾:
const fullId = "ABCA950297D2C0C432BAB9BBF5A1BB48.07.MAINVIEW._0120"; const prefix = "ABCA950297D2C0C432BAB9BBF5A1BB48.07.MAINVIEW."; const suffix = fullId.slice(prefix.length); console.log(suffix); // 输出 "_0120"
方法三:从DOM元素的lsdata属性直接解析提取
如果还未获取完整的WDA_ID字符串,可以先解析元素的lsdata属性(处理转义字符后转为JSON对象),再提取目标后缀:
// 获取目标输入元素 const inputElement = document.getElementById("WD01B3"); // 获取lsdata属性并处理转义字符 const lsdataRaw = inputElement.getAttribute("lsdata"); const lsdataFormatted = lsdataRaw.replace(/\\x22/g, '"') .replace(/\\x7b/g, '{') .replace(/\\x7d/g, '}') .replace(/\\x5b/g, '[') .replace(/\\x5d/g, ']'); // 解析为JSON对象 const lsdata = JSON.parse(lsdataFormatted); // 提取完整WDA_ID const fullId = lsdata["20"].WDA_ID; // 提取后缀 const prefix = "ABCA950297D2C0C432BAB9BBF5A1BB48.07.MAINVIEW."; const suffix = fullId.slice(prefix.length); console.log(suffix); // 输出 "_0120"
内容的提问来源于stack exchange,提问作者Dweep Panchal
相关产品推荐
相关产品推荐

