正在分析Javascript中的特定HTML标记
Parsing specific HTML tags in Javascript
我正在寻找解析以下HTML的Javascript:
<p>random text random text random text random text</p>
<kbd><h2>Heading One</h2>Body text Body text Body text Body text</kbd>
<p>random text random text random text random text</p>
只返回:
Heading One
换句话说,我想从<kbd>
标记中剥离所有标记和正文文本。
任何想法都将不胜感激!
var input = /* that HTML string here */;
var div = document.createElement('div');
div.innerHTML = input;
var h2 = div.getElementsByTagName('h2')[0];
var text = h2.innerText || h2.textContent;
alert(text); // alerts "Heading One"
参考:
document.createElement
innerHTML
element.getElementsByTagName
Node.textContent
(Quirksmode兼容性表(
演示:
- http://jsfiddle.net/mattball/vaVPF/
Regex?
var s = "<p>random text</p>'n" +
"<kbd><h2>Heading One</h2>Body text</kbd>'n" +
"<p>random text</p>";
s.match(/<h2>(.*?)<'/h2>/)[1] // == "Heading One"
这将组1匹配为<h2>...</h2>
之间尽可能短的(.*?)
字符串。
您可以使用g
选项查找所有匹配项。
s.match(/<h2>(.*?)<'/h2>/g) // == ["<h2>Heading One</h2>"]
请注意,无法访问组。
对于标记之间的多行内容,请使用
s.match(/<tag>['s'S]*?<'/tag>/ig)
如果包含jquery(jquery.com(,则可以执行以下操作:
var heading=$("h2").html();
相关文章:
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- HTML标记在脚本标记中工作
- 是否可以添加这行“;“照原样”;在HTML标记中
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 如果匹配项在特定的html标记中,则跳过regex匹配
- 使用 Pure JS 更改 HTML 标记名称
- 如何使用javascript选择字符串的部分,添加html标记或删除部分
- HTML标记,包含带引号的JavaScript代码中的引号
- 如何在JavaScript中创建打字机效果,这将考虑html标记规则
- 将c#视图模型转换为javascript模型时转义HTML标记
- Regex剥离具有特定属性的html标记
- 如何在不创建格式错误的HTML标记的情况下分解字符串
- HTML 标记未在 AngularJS ckEditor 中应用,而是在 Ediator 中显示 HTML 元素标记代码
- 如何在angularJS中运行for循环而不使用html标记
- Riot 每个构建 HTML 标记
- 用HTML标记+ 替换关闭的HTML标记
- 存储包含html标记的文本
- Regex以转义HTML标记
- 在html标记中序列化javascript代码
- JS来显示HTML标记