我从文件中抓取一个div:
var myTotal = window.document.getElementById('status').innerHTML;
返回一大堆HTML
<div id="foo">
<a href="bar" onclick='_gaq.push(["_trackEvent", "The", "Total",])'>
<img src="foo.gif" alt="foo" height="22px;/" width="15px;"></a>
</div>
<a href="bar" onclick='_gaq.push(["_trackEvent", "The", "Total",])'>
MY TOTAL:
<span style="font-size: 12px; color: #F3A428; font-weight:normal;"> 8 item(s) </span>
</a>
你们其中一个表达向导能告诉我如何抓住跨度中的数字,在这个例子中是8吗?
答案 0 :(得分:2)
你能给出一个id并直接引用它吗?
如果没有,则此正则表达式应返回范围中的数字:/<span[^>]+>\s*(\d+)/
我假设div中只有一个跨度。
答案 1 :(得分:1)
这应该可以帮到你
var myTotal = window.document.getElementById('status').getElementsByTagName('span')[0].innerHTML
myTotal = myTotal.replace(/(^\d+)(.+$)/i,'$1');
答案 2 :(得分:1)
在jQuery中,甚至没有得到内部HTML就是这样:
var items = $("#status span").first().text();
items = parseInt(items, 10);
alert(items); // 8
如果您控制HTML,建议在包含结果的范围上放置一个唯一ID,然后更容易检索并且不依赖于它周围的结构或者更好,将它作为输出输出到页面中JS变量,你可以直接阅读,而不必处理演示文稿。
在这里看到一个jsFiddle:http://jsfiddle.net/jfriend00/UqcxS/
答案 3 :(得分:0)
使用jQuery,它有很多功能可以帮助您找到页面中的特定元素。此外,您可能希望为您的元素添加标识,例如class和id。
答案 4 :(得分:0)
您也可以尝试使用innerText
window.document.getElementById('status').innerText.replace(/[^0-9]/gi, '');