我正在开发一个 javascript 小书签,它将通过并在网页上查找所有带有看起来像货币的文本的元素。然后对于每个元素,我会找到它的字体大小并确定它是否有直通。价格和字体大小被推入一个数组。
我已经整理了下面的代码,但我不确定它是否是最有效的。比赛也有错误。理想情况下,我希望能够直接磨练那些与正则表达式匹配的元素。
var ele = b.getElementsByTagName('*');
for(i=0; i<ele.length; i++) {
//check iff innerhtml matches
if(ele[i].innerHTML.match(/[$€£]\d{1,3}(,?\d{3})?(\.\d{2})?/g)) {
var price = ele[i].innerHTML;
var size = ele[i].style.fontSize;
var lineThrough = ele[i].style.textDecoration;
if(lineThrough != 'line-through' && price && size) {
results.push({ size: size, price: price});
}
}
}
由于某种原因,匹配似乎不完全匹配。