【问题标题】:javascript grouping mechanism for different Id不同Id的javascript分组机制
【发布时间】: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 getElementsByTagName documentation 的例子,了解如何遍历节点列表。

标签: javascript for-loop


【解决方案1】:

你可以试试这个代码:

var result  = document.getElementById('formatted_text');
    var labels = result.getElementsByTagName('label');
    var value="";
    for (var i = 0; i<labels.length;i++)
    {
        if(i==9){
            labels[i].innerHTML=value;
        }else{
            value += " "+labels[i].innerHTML;                       
        }

    }

工作演示here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 2018-07-16
    • 2012-10-04
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    相关资源
    最近更新 更多