-1

在下面的 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> 
4

2 回答 2

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-*但不写入属性),但是对于您正在做的事情来说它可以正常工作。

仔细阅读jQuery API 文档将是一个好主意。从字面上看,它只需要大约一个小时,它确实非常非常快地回报你。

于 2012-07-23T14:18:08.257 回答
-1

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

var yourVar=$('#YourElement').data("Key");
于 2012-07-23T12:59:33.417 回答