javascript - 使用正则表达式获取 div 中的部分类名称和文本

标签 javascript regex dom domparser

我需要从此 HTML 中获取两个值,这两个值要么是来自 toast-* 的错误,要么是成功,并且还要获取 toast-message 中的值:

<div class="toast toast-error" style="">
    <div class="toast-message">You have failed.</div> 
</div>
<div class="toast toast-success" style="">
    <div class="toast-message">You have succeed. 
</div>

div 元素一次仅显示一次,这可能是错误或成功。

有什么方法可以使用正则表达式,这样我就可以提取数组中的值,以便它:

['success', 'You have succeed.']

['error', 'You have failed.']

任何帮助将不胜感激。谢谢!

最佳答案

您可以使用 DOMParserquerySelector选择元素。

let parser = new DOMParser();
let html = `<div class="toast toast-error" style=""><div class="toast-message">You have failed.</div></div>`;
let doc = parser.parseFromString(html, "text/html");
let div = doc.querySelector("div.toast");
let successOrFailure = div.getAttribute('class')
  .split(" ")
  .filter(word => word.substring(0, 6) === "toast-")[0]
  .substring(6);
let message = div.firstChild.innerHTML;
let result = [successOrFailure, message];
console.log(result);

关于javascript - 使用正则表达式获取 div 中的部分类名称和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51122603/

相关文章:

javascript - 正则表达式匹配前面没有 "]"的左括号

java - 特定子串的长度

regex - 正则表达式:要求引号在字符串中转义

javascript - document.getElementsByTagName 返回值

javascript - javascript : substitute route values 中的 T4MVC 网址

javascript - 从动态添加的输入中获取数据

javascript - 从加载了 iFrame 的 jQuery DOMWindow 访问父窗口的 DOM 对象

javascript - 将输入字段添加到 div 容器 (javascript)

javascript - 下面的代码有什么问题?

javascript - esri javascript 异步打印