从html中的“data-”中提取数值数据

时间:2012-07-23 12:56:14

标签: javascript html html-content-extraction

在下面的HTML中,我想简单地划分两个数字并将结果返回到页面。 javascript实现了这一点,但是,变量A(GAL2_G2rAimTonsPerHr)每隔10秒左右从我们的PI服务器(历史数据库)更新。如何将变量A设置为等于变化值?有没有办法将它存储在临时变量中以用作脚本中的除数?

< td align="left" style="font-size: 12px" width="60px"                     
 < span class='PIData' data-tag='GAL2_G2rAimTonsPerHr' data-on_pi_change='truncReading' >< /span>
< /td>

<SCRIPT LANGUAGE="JavaScript">
  function divide(n1,n2)
  {
    ans = n1/n2;
    document.write(" "+ans+"<BR>");
    return ans;
  }

  var a = 'GAL2_G2rAimTonsPerHr'????;

  var b = 2;

  divide(a,b);                          

</SCRIPT> 

2 个答案:

答案 0 :(得分:1)

您已经说过PI-Plug会更新实际元素。如果是这样,那真的是一个数字,那么:

var value = parseInt($(".PIData[data-tag]").attr("data-tag"), 10);

.PIData[data-tag]部分是具有class="PIData"data-tag属性的元素的CSS样式选择器。然后剩下的就是获取该属性的值并将其解析为十进制数(因为它将是一个字符串,例如"300"而不是300)。

或者代替attr,您可以使用data并取消属性名称的data-部分:

var value = parseInt($(".PIData[data-tag]").data("tag"), 10);

我不这样做,因为我不喜欢data函数是不对称的(它从data-*属性读取但不写入它们的事实),但它会起作用对你正在做的事情很好。

好的阅读the jQuery API documentat将是一个好主意。它实际上只需要大约一个小时,它确实非常非常快地回报你。

答案 1 :(得分:-1)

我没有正确地提出您的问题,但是为了获取数据属性,您可以使用jquery.data()方法来获取数据属性Jquery.data()。如果你正确地指定你的要求会很有帮助

var yourVar=$('#YourElement').data("Key");