Javascript:使用 DOM 和 join()

标签 javascript dom join

我有两个函数,一个函数创建一个像这样的表:

function return_formatted_results(result_no,addy,title,own_comment)
        {
var div=document.createElement("DIV");
attr(div, 'id', 'div_id'+result_no);

var form=document.createElement("FORM");
attr(form, 'id', 'det_'+result_no);
attr(form, 'name', 'form'+result_no);
attr(form, 'method', 'post');
attr(form, 'action', '');

// ###############
// add all other objects and attributes here
// ###################

form.appendChild(table);
div.appendChild(form);
}

然后我有一个调用上述函数的函数:

    function get_urls_and_display()
    {


        var allTables=new Array();

        for(var i=0;i<url.length;i++)
{   allTables[i]=return_formatted_results(i,url[i],the_title[i],the_comm[i]);   }

        document.getElementById("wait").appendChild(allTables.join("\n\n"));

问题是最后一行中的 join() 抛出错误。我对使用整个 DOM 事物很陌生,就像我上面所做的那样,所以不知道该使用什么。我以前使用纯 html,然后 join() 就可以了。

谢谢!

最佳答案

您遇到了一些问题:

  1. return_formatted_results 实际上不会返回任何内容(具有讽刺意味的是,它在名称中明确说明了)
  2. join 确实仅适用于字符串。

在使 return_formatted_results 返回 div 后,尝试对 get_urls_and_display 执行此操作:

function get_urls_and_display() {
    var wait=document.getElementById("wait");
    for(var i=0; i<url.length; i++) {
        var div=return_formatted_results(i, url[i], the_title[i], the_comm[i]);
        wait.appendChild(div);
    }
}

此外,您似乎有三个不同的数组,都包含相关数据。更合适的数据结构是对象列表。您可以这样定义:

var data=[
    {
        url: "http://www.example.com/a",
        title: "Link A",
        comment: "This is the first link."
    },
    {
        url: "http://www.example.com/b",
        title: "Link B",
        comment: "This is the second link."
    }
    // ...
];

这是 get_urls_and_display 的样子:

function get_urls_and_display() {
    var wait=document.getElementById("wait");
    for(var i=0; i<data.length; i++) {
        var datum=data[i];
        var div=return_formatted_results(i, datum.url, datum.title, datum.comment);
        wait.appendChild(div);
    }
}

关于Javascript:使用 DOM 和 join(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6921004/

相关文章:

javascript - 无法在 'requestFullScreen' : API can only be initiated by a user gesture 上执行 'Element'

javascript - HTML5/Javascript - 我的简单 Canvas 动画不起作用

mysql - 对抗 INNER JOINS - Chapter : unknown column

python - 在Python Pandas中,如何在日期时间列上加入另一个由周期索引索引的数据帧?

javascript - ','之后的金额无法读取

javascript - Intellisense 可以识别 javascript 原型(prototype)函数吗?

javascript - 在 JavaScript 或 jQuery 中,如何将 ontouchmove 事件转换为目标上的基本单击事件

javascript - 如何定义没有ID的元素?

javascript - 通过附加 dom 元素来避免 zIndex

mysql - 编写 Select 查询以从一个表中扣除另一个表