我正在尝试编写将遍历跨度的javascript,获取其值,并将其存储在可用于执行算术的变量中。
<span id ="Weekly" class="ServerData" data-tag="WeeklyCarSales">**30**</span>
<span id ="Monthly" class="ServerData" data-tag="DailyCarSales">**6**</span>
关于以上两行,我的功能如下。在目前的设置中,我得不到任何结果。
function divide(n1, n2) {
ans = n1 / n2;
document.write(" " + ans + "<BR>");
return ans;
}
var a = $('#WeeklyCarSales').ServerData;
var b = $('#DailyCarSales').ServerData;
divide(a, b);
我应该得到“5”的回答但却什么都没得到。我知道如果我将变量中的整数/浮点值强制实际算术运算。我似乎一直在锁定'30'和'6',这是跨度值。有关如何获取这两个跨度值的任何想法?
答案 0 :(得分:7)
这应该可以解决问题......
function divide(n1, n2) {
var ans = n1 / n2;
document.write(" " + ans + "<BR>");
return ans;
}
var a = parseInt($("#Weekly.ServerData").text().replace(/\*/gmi, ""), 10)
, b = parseInt($("#Monthly.ServerData").text().replace(/\*/gmi, ""), 10);
divide(a, b);
这是有效的JSFiddle
答案 1 :(得分:2)
尝试
function divide(n1, n2) {
ans = n1 / n2;
document.write(" " + ans + "<BR>");
return ans;
}
var a = $('#Weekly').html().replace('*','');
var b = $('#Monthly').html().replace('*','');
divide(a, b);
答案 2 :(得分:2)
这里有很多问题。首先,在jQuery中,('#SOMETHING')构造通过ID引用DOM元素。因此,您需要使用$('#Weekly')和$('#Mearly')来引用span元素。
其次,应用于标记的ServerData类值不是元素上的可用属性,因此尝试引用$('#Mearly')。ServerData不会为您做任何事情。
您真正需要的是您可以像这样访问的节点的HTML内容
var a = parseInt($('#Weekly').html());
我不确定这些星号是否真的存在。如果它们真的存在,你需要像这样删除它们:
var a = parseInt($('#Weekly').html().replace('*', ''));