使用javascript提取HTML
Extract HTML with javascript
对于所有了解javascript的人来说,这里有一个简单的问题。我制作了一个应用程序,它获取以下代码并将其放入一个变量中:
<div class="article-author">Af <span class="remove_from_bt_touch">:</span>Af Tho
mas Søgaard Rohde, Berlingske Nyhedsbureau<span class="section-time">&nbs
p;15. jan. 2012
|
</span>
<span class="section-category">Danmark</span>
</div>
现在,我想要的是另一个变量,包含上面变量的DATE。所以应该是15。2012年1月。
我该怎么做?
除了说标记是分配给变量的字符串之外,你真的不明白"把它放在变量中"是什么意思:
var m = '<div class="article-author">Af ' +
'<span class="remove_from_bt_touch">:<'/span>' +
'Af Thomas Søgaard Rohde, Berlingske' +
' Nyhedsbureau<span class="section-time"> ' +
'15. jan. 2012 | <'/span>' +
'<span class="section-category">Danmark<'/span><'/div>';
如果是这种情况,您可以使用match和正则表达式来获取日期(前提是它正是所示的格式)
var re = /'d'd?'. [a-z]{3}'. [0-9]{4}/;
alert(m.match(re)); // 15. jan. 2012
然而,如果你的意思是它是页面中的标记,并且你试图在类部分时间的跨度中获取文本,那么你可以使用类似的东西:
// Get all elements with class section-time, use DOM method,
// querySelectorAll or some other means
var el, els = document.getElementsByClassName('section-time');
// Get the date out of each. Use a regular expression as there
// seems to be other stuff in there
var dates = [];
var re = /'d'd?'. [a-z]{3}'. [0-9]{4}/;
for (var i=0, iLen=els.length; i<iLen; i++) {
el = els[i];
dates.push((el.innerText || el.textContent).match[0]);
}
或者,您可以使用match在公共父元素的innerHTML上使用上述正则表达式来获取数组中的所有此类日期。
var date = $('.section-time').text();
当然使用jQuery。
相关文章:
- HTML页面如何提取通过表单传递的参数
- 使用javascript从HTML网页中提取图像url
- 如何从HTML下拉菜单中提取值
- 如何每秒从一个变量中提取一定次数的javascript/html
- 更换163;使用javascript从html文本区域中提取字符
- 正则表达式,用于从html格式的字符串中提取文本
- 从HTML代码中提取数据
- 使用JavaScript或AJAX从HTML表单中提取数据,然后将其传递给PHP
- 如何在HTML源代码中提取javascript变量
- 使用'从HTML表中提取行的内容<tr onclick=alertContents()>'
- 从html标记格式的字符串中提取键值对
- jQuery-数据提取问题(html遍历)
- 用于提取 HTML 标记子元素的正则表达式
- 从导入的 HTML/JS 文件中提取变量
- 使用JavaScript从HTML字符串中提取文本
- 如何将jquery ajax数据提取为html
- 如何从html中提取javascript
- 从html文件中的js中提取链接
- 从Html中提取特定值
- Angular将所有头文件html提取到一个文件中