我试图在html页面中找到价格,我需要它来处理各种html结构。我的假设是1)价格包装在他们自己的html标签中,2)我想要的价格是具有最大字体大小的价格。使用javascript和jQuery,我如何构建一个包含$的html元素数组,并按字体大小排序?
答案 0 :(得分:4)
使用jQuery和sort函数可以非常简单地假设以下HTML结构来实现您想要做的事情:
<div>
<span style="font-size: 15px;">$10</span>
<span style="font-size: 25px;">$10</span>
<span style="font-size: 10px;">$10</span>
<span style="font-size: 20px;">$10</span>
</div>
var $prices = $.makeArray($('div *:contains($)'));
$prices.sort(function(a,b){
var fontSizeA = parseFloat($(a).css('font-size')),
fontSizeB = parseFloat($(b).css('font-size'));
return fontSizeA - fontSizeB;
});
你会得到一组<span>
DOM元素,如下所示:
[
<span style="font-size: 10px;">$10</span>,
<span style="font-size: 15px;">$10</span>,
<span style="font-size: 20px;">$10</span>,
<span style="font-size: 25px;">$10</span>
]
JSFiddle example - 您可以尝试添加其他元素并使用CSS更改字体大小。根据需要编辑jQuery选择器。