javascript - 从 HTML 输出中获取特定值

标签 javascript jquery

我从数据源得到以下结果。

"<span class=\"highlight\">DSDT10</span><div>011XBY</div>"

span 和 div 中的值可能不同。

我只想要单独变量中跨度“DSDT10”内的值。

我尝试过的:

var data = '<span class=\"highlight\">DSDT10</span><div>011XBY</div>';

var formattedData = data.replace(/<\/?span[^>]*>/g, "");

$('#output').append(formattedData);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="output"></div>

期望:

仅从数据变量中检索“DSDT10”。

任何建议表示赞赏。谢谢。

最佳答案

您只想获取范围内的文本?你可以稍微修改你的正则表达式并使用匹配..

var data = '<span class=\"highlight\">DSDT10</span><div>011XBY</div>';
var formattedData = data.match(/<span[^>]*>([^<]*)<\/span>/, "")[1];

但由于您使用的是 jquery,您也可以这样做:

var formattedData = $("<div>", {html: data}).find("span").text()

关于javascript - 从 HTML 输出中获取特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33533018/

相关文章:

javascript - 创建一个已解决的 A+ promise

javascript - jstree不添加新节点

Jquery 打印元素

javascript - 使用 AJAX 直接上传到亚马逊 S3 返回错误 : Bucket POST must contain a field named 'key'

javascript - React 组件中的 Js div 滚动到底部

javascript - 使用自定义 React hook 获取数据

javascript - 如何使用bindTo()拖动标记后保存坐标

jquery - glDatePicker 以渐进的月份显示多个日历

javascript - 添加其他参数以使用 fineuploader 发送到服务器

javascript - 启动页面显示 2 秒,然后淡出