如何使用jQuery解析此HTML
How to parse this HTML using jQuery?
在过去的
2 个小时里试图弄清楚这一点。我从 AJAX 请求中以字符串形式返回了这个 html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Preview</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Connected Ventures LLC. Copyright 1999-2010." />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.ui.js"></script>
<script type="text/javascript" src="js/article.js"></script>
<link href="/css/global.css" rel="stylesheet" type="text/css" />
<link href="/css/article.css" rel="stylesheet" type="text/css" />
<style type="text/css">
html, body { background: #fff; color: #000; }
</style>
</head>
<body class="the_article">
<p>s</p></body>
</html>
我需要在正文标签之间获取内容。我已经尝试过这个,这是在另一个关于通过jQuery解析html的SO问题中提出的:
$(ajax_response).find('body.the_article').html();
没用。即使在添加:
dataType: 'html'
作为 AJAX 请求参数。然后我尝试使用正则表达式解析它:
ajax_response.match(/<body class="the_article">.*?<'/body>/);
它只是提醒空。知道我如何获得身体内容吗?
您的 REGEX 失败,因为字符串是多行的,并且.
通配符匹配除空格字符之外的所有字符,因此,例如,开始body
标签和正文内容之后的换行符会破坏模式。
使用 ['s'S]
而不是 .
(字面意思是允许非空格和空格字符)
/<body class="the_article">['s'S]*?<'/body>/
[编辑] - 作为对评论的响应,要捕获不包括其标签的正文内容,请将内容捕获为子组:
var body = response.match(/<body class="the_article">(['s'S]*?)(?=<'/body>)/);
console.log(body[1]); //body content, not including tag
另请注意,我们将结束 body 标签指定为前瞻,因为我们根本不需要匹配它,只需锚定到它即可。(JS不支持后视,没有像我写的模拟,所以我们别无选择,只能捕获开头的身体标签)。
你可以让 dom 为你做这项工作。使用 document.write 在 iframe 中注入代码,然后访问 frame.document.body.innerHTML 属性。
相关文章:
- 在if语句下的html中使用javascript变量
- 如何在cocos2d html中使用removeChild
- 如何根据html内容使用ng类-AngularJS
- 在动态加载的html中使用角度控制器
- 元素过多的HTML内存使用情况
- 如何在v-html中使用组件
- HTML SELECT-使用JavaScript按VALUE更改所选选项
- 在 html 中使用 javascript 解析 xml
- 如何在输入中放置时间=“0”;时间“;在html中使用javascript
- 在动态生成的HTML上使用插件
- 如何避免在HTML中使用ng repeat对url名称进行硬编码
- 如何在html中使用两个组件
- HTML 5 帮助.使用websql数据库中的动态javascript渲染选项
- 需要在 html 中使用两个下拉列表来显示不同的 json 值
- 在我的html中使用节点函数
- 在html中使用谷歌脚本api
- 在HTML中使用javascript动态创建SVG元素
- jquery更改html,并在新的html中使用slideDown
- 如何在HTML中使用AJAX查看动态JSON响应
- 我如何在html中使用if和else,这可能吗