【发布时间】:2014-01-20 09:06:17
【问题描述】:
我正在尝试获取 9 个标签的值并将它们放在一起到标签 10,这是结果。为了详细说明我的陈述,我将展示这个例子
LABEL1:
LABEL2:快速
LABEL3:棕色
LABEL4:狐狸
LABEL5:跳跃
LABEL6:结束
LABEL7:
LABEL8:懒惰
LABEL9:狗。
LABEL10(结果):快速的棕色狐狸跳过懒狗。
我决定将它们全部放在一个类中(构建)并将它们放在一个持有者中以保存值(持有者)。但是,它不显示输出,而是显示此 [object NodeList]。我从来都不喜欢使用 for 循环并尽可能避免使用它,但是我的同学说这是解决我的问题的最简单方法,所以我尝试了它。我怎样才能改进我的代码来完成任务。
这是我的代码: 更新了
var result = document.getElementById('formatted_text');
var values = result.getElementsByTagName('label');
for (var i = 0; i<10;i++)
{
var getvalue = document.getElementbyClass('build');
//sir I'm not sure on what to put on this part, but I think this is the part were I get the string input
}
【问题讨论】:
-
请添加您的 HTML 代码。
-
嗯,
[object NodeList]是节点列表的默认字符串表示。getElementsByTagName返回一个 DOM 元素列表。引擎如何知道如何你究竟想将那些 DOM 元素转换为字符串值?您必须遍历节点列表并提取所需的信息。而且我认为您的同学可能意味着您应该使用for循环来迭代nodeList的元素(而不是您应该将整个代码放入循环中)。 -
getElementsByTagName返回一个节点列表(这就是为什么在Elements有一个s)。而且你的第三行似乎没用。 -
是的先生,我会更新它
-
看看MDN
getElementsByTagNamedocumentation 的例子,了解如何遍历节点列表。
标签: javascript for-loop