我正在创建一个书签,使用正则表达式从页面中提取价格(比如让我们说亚马逊),我希望能够提取有关每个价格的字体大小的额外信息,以此作为评估其重要性的方式。
下面是我生成的代码,它正在寻找我正在寻找的代码。 match()创建一个价格数组,并且:包含返回并重新搜索其字体大小的每个找到的价格。但是,如果相同的价格出现两次,这将是一个问题。
我正在寻找一种方法,一步到位。 任何建议将不胜感激。
var prices = jQuery('body').text().match(/[\$€£]\s*(?:\d[\d,]*(?:\.\d+)?)/g);
jQuery.each(prices, function() {
var size = parseInt(jQuery(":contains('" + this + "')").css('fontSize'));
});
答案 0 :(得分:2)
你要迭代容器元素的结果
var prices = jQuery('body').text().match(/[\$€£]\s*(?:\d[\d,]*(?:\.\d+)?)/g);
var results = [];
jQuery.each(prices, function() {
var price = this;
results[ price ] = [];
jQuery(":contains('" + this + "')").each( function() {
var size = parseInt( $( this ).css( 'fontSize' ), 10 );
results[ price ].push( size );
} );
});
results
现在是一个数组,价格为关键字,所有相应的字体大小为关键字的值