从一大堆html中找出一个数字
Grab a single digit out of a big mess of html
我从文档中抓取一个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>
谁能告诉我如何在span中获取数字,在这个例子中是8 ?
你能给span一个id并直接引用它吗?
如果没有,那么这个正则表达式应该返回span中的数字:/<span[^>]+>'s*('d+)/
我假设div中只有一个span
这应该对你有帮助
var myTotal = window.document.getElementById('status').getElementsByTagName('span')[0].innerHTML
myTotal = myTotal.replace(/(^'d+)(.+$)/i,'$1');
在jQuery中,即使没有内部HTML,它也会是这样:
var items = $("#status span").first().text();
items = parseInt(items, 10);
alert(items); // 8
如果你控制HTML,建议在包含结果的span上放一个唯一的ID,这样更容易检索,不依赖于它周围的结构,或者更好的是,把它作为一个JS变量输出到页面中,你可以直接读取,而不必处理表示。
可以在jsFiddle中看到:http://jsfiddle.net/jfriend00/UqcxS/
您也可以尝试使用innerText
window.document.getElementById('status').innerText.replace(/[^0-9]/gi, '');
http://jsfiddle.net/X9ffE/使用jQuery代替,它有很多函数可以帮助您找到页面中的特定元素。此外,您可能希望为您的元素添加标识,如class和id。
相关文章:
- 递增一个数字而不去掉前导零
- 制作一个regex来验证只有一个数字的字符串
- 如何使用至少一个数字、一个大写字母和6-20个字符验证密码
- 有没有办法在里面看到一个数字'的64位浮点IEEE754表示
- 我如何解析二's是一个数字的补码字符串
- 为什么我需要在这里输入var,为什么它会给我一个数字作为答案?(Javascript)
- 为什么 JavaScript 如果一个数字有一个前导零,就将其视为八进制
- 增加一个数字并将其附加到函数
- 如何让计算机猜测一个数字并返回猜测次数(Javascript)
- 正则表达式删除最后一个数字之后的字符串
- 用户在文本框中输入一个数字,并根据使用 PHP 输入的数字重定向到另一个网页
- 每次使用 Javascript 加载页面时增加一个数字(变量)的简单方法
- Javascript Regexp :如果一个字母与一个数字相邻,请添加下划线
- jQuery UI Slider ui.value 获取最后一个数字
- JavaScript 使用多少位来表示一个数字
- Javascript提示和警报输入一个数字,它将循环,您将输入数字以获得它的平均值
- RXJS 为什么只有最后一个数字同时有 a 和 b
- 检查字符串是否等于一个单词和一个数字
- 对负指数调用的.toFixed()返回一个数字,而不是字符串
- 脚本每天添加相同的数字,月底再添加一个数字