在下面的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>
答案 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");