0

我这里有个小问题。

我想要做的是将一些参数从 html 传递到 javascript。这是代码:

HTML:

<div id="percentage">52.338</div>

JAVASCRIPT:

var pctg = document.getElementById("percentage");
alert(pctg);

但效果不好。你能告诉我如何解决吗?我已经尝试过'parseFloat'和一些相关的东西,但还不能解决......提前谢谢。

4

3 回答 3

4

您要查找的是元素的文本内容,而不是元素本身。一些浏览器(当然是较旧的 IE)使用innerText而不是,textContent因此使用这两个属性是一个好主意:

var elem = document.getElementById("percentage");
var text = elem.textContent || elem.innerText;

如果您实际上想要一个数字而不仅仅是一个字符串parseFloat(),请在字符串上使用。


data-不过,根据您所做的事情,将值存储在属性中可能更可取。然后您可以简单地使用.getAttribute('data-whatever')来访问它,而不必处理获取元素的文本内容。如果您使用 jQuery,它会变得更好,因为您可以使用.data('whatever')它已经返回一个数字。现代浏览器还支持通过属性直接访问数据属性dataset;但您可能不想使用它,因为它会在旧浏览器中中断。

于 2012-11-20T10:12:58.233 回答
2

pctg将包含一个元素,而不是元素的文本。试试alert(pctg.innerHTML)

parseFloat(pctg.innerHTML)如果需要浮点数,可以使用。

于 2012-11-20T10:12:11.150 回答
1

您可以获取元素的 innerText ,然后像这样解析值:

var pctg = document.getElementById("percentage").innerText;
var floatNumber = parseFloat(pctg);
于 2012-11-20T10:19:06.350 回答