抓取内容并使用jQuery / JS相应地对其进行乘法/除法

时间:2013-02-09 14:45:19

标签: javascript jquery html css

我正在为那些希望使用英特尔GM965芯片组升级其处理器的用户开发易于使用的比较表。它可以在这里找到 - http://dylricho.com/archive/gm965/

我实际上是为自己制作的,因为我很快就会从M 575转到T9500,但我想我也可以将其上传给其他人使用。

无论如何,我一直试图找到一种简单的方法来使用jQuery / JavaScript将数字(在表格单元格中找到)乘以或除以1000.例如,如果用户想要的话,这将被使用将千兆赫转换为兆赫,因此比较多个CPU更容易。

正如您从上面的链接中看到的,我有一种方法可行,但我必须在JS文件中手动列出每个处理器条目。我希望有一种简单的方法可以获取时钟频率列的每个值,并在表格标题中单击红色单位进行乘法或除法。

在我看来,我有一个这样的代码看起来应该可以工作,但它没有:

$('.clock').text() / 1000; // To get back to GHz from MHz

为方便起见,下面列出了必要的JS文件:

  • dylricho.com/archive/gm965/changeTitlesOnLoad.js
  • dylricho.com/archive/gm965/convertClockToMHz.js
  • dylricho.com/archive/gm965/convertClockToGHz.js

convertClockToMHz.js 文件中,您可以看到我当前正在手动列出每个处理器条目。

我知道我可以继续手动完成所有操作,但是列表会相当大,如果它只有一行代码就会好得多。

谢谢你, 迪伦。

3 个答案:

答案 0 :(得分:3)

$('.clock').text() / 1000;没有做任何事情,因为你没有向text()传递任何参数来更新DOM。

试试这个:

$('.clock').text(function(index, oldText){    
     return parseFloat( oldText / 1000, 2);    
});

答案 1 :(得分:1)

另一种方法是预先计算表格中的所有值,然后隐藏显示所选择的值

<table>
    <td>
        <div class="field degrees faren">32</div>
        <div class="field degrees celci">0</div>
    </td>
</table>

然后像

$(".field.degrees").hide('fast')
$(".field.degrees.celci").show('fast')

答案 2 :(得分:1)

$("#clock-2 a").click( function() {
     $(".clock").each( function() {
         var s = parseFloat($(this).text(), 10);
         var num = s/1000;
         $(this).html(num);
      });
});