将span值存储到javascript变量中

Storing a span value into a javascript variable

本文关键字:javascript 变量 存储 span      更新时间:2024-04-08

我正在尝试编写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"answers"6"这两个跨度值时遇到了持续的问题。关于如何获取这两个跨度值,有什么想法吗?

这应该能奏效。。。

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

尝试

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);

这里有很多问题。首先,在jQuery中,("#SOMETHING")构造通过ID引用DOM元素。因此,您需要使用$("#Weekly")和$("#Monthly")来引用span元素。

其次,应用于标记的ServerData类值不是元素上的可用属性,因此尝试引用$('#Monthly')。ServerData对您没有任何帮助。

你真正想要的是你想要访问的节点的HTML内容,比如这个

var a = parseInt($('#Weekly').html());

我不确定这些星号是否真的存在。如果它们真的在那里,你需要像这样删除它们:

var a = parseInt($('#Weekly').html().replace('*', ''));