如何从字符串构造文档
我有一个字符串,类似于html,我想提取html文本中的元素,我知道我可以在java中使用html解析器,但是如何使用javascript来实现相同的功能呢?
如何从字符串构造文档,createHTMLDocument工作吗?
或者用其他方法提取html文本中的元素?
例如:
我得到的html文本如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>titleValue</title>
<meta name="description" content="It is a good way to learn science." />
<meta name="keywords" content="Symfony2,Redis,PHP" />
<meta name="author" content="CSDN.NET" />
<meta name="Copyright" content="CSDN.NET" />
</head>
<body>
..........................
</body>
</html>如何获得“描述”的价值
这是我的代码,但是输出是0,怎么了?
var el = document.createElement("div");
el.innerHTML = ' <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>titleValue</title> <meta name="description" content="It is a good way to learn science." /> <meta name="keywords" content="Symfony2,Redis,PHP" /> <meta name="author" content="CSDN.NET" /> <meta name="Copyright" content="CSDN.NET" /> </head> <body> hello</body> </html>';
var descElements = el.getElementsByTagName("head");
document.getElementById("news_content").innerHTML = descElements.length;发布于 2014-08-05 01:41:06
做这种操作的最简单的方法是使用像jQuery这样的库。这是使用jQuery (见演示)完成此任务的一种方法:
var markup = '<!DOCTYPE ...';
var parsed = $(markup);
var description = parsed.filter("meta[name='description']").attr('content');
alert(description);请注意,您将不能访问所有元素(例如,<head/>元素没有表示),因为并非所有元素在另一个文档的上下文中都是合法的。不过,<meta/>元素应该很好。
https://stackoverflow.com/questions/25129959
复制相似问题