我是这样做的:
var blah = document.getElementById('id').getElementsByClassName('class')[0].innerHTML;
现在我在酒吧里有这个:
<a class="title" href="http://www.example.com/" tabindex="1">Some text goes here</a> <span class="domain">(<a href="/domain/foobar.co.uk/">foobar.co.uk</a>)</span>
我想使用 JS(无 jQuery)从 HTML 中读取字符串“Some text goes here”。我无权访问网站的 HTML。我正在解析一个网页来为浏览器扩展注入(inject) JS。
我是否只需要将它解析为一个字符串并从 > 和 < 之间找到我的文本,或者有没有办法在 JS 中解析 innerHTML?
我假设您拥有的基本 HTML 标记:
<div id="id">
<div class="class">
<a class="title" href="http://www.example.com/" tabindex="1">Some text goes here</a> <span class="domain">(<a href="/domain/foobar.co.uk/">foobar.co.uk</a>)</span>
</div>
</div>
所以选择 anchor 并阅读文本
var theAnchorText = document.getElementById('id').getElementsByClassName('class')[0].getElementsByTagName("a")[0].textContent;
如果需要支持IE8
var theAnchor = document.getElementById('id').getElementsByClassName('class')[0].getElementsByTagName("a")[0];
var theAnchorText = theAnchor.textContent || theAnchor.innerText;
如果您使用的是现代浏览器,querySelector让它更干净
var theAnchorText = document.querySelector("#id .class a").textContent;
我是一名优秀的程序员,十分优秀!