JavaScript div创建

时间:2011-03-08 10:05:51

标签: javascript jquery html

在这里需要一个小手我试图结合两个函数来创建一个程序,从文本区域获取文本并将其插入div(使用第一个代码管理)第二个代码的平衡我试图创建一个div每次,id喜欢做的是每次有人在textarea中写道并“发布”消息它将创建一个新的div(而不是第一个代码,如果发布任何新内容则覆盖)。

$(function () {
    $('button').click(function () {
        var x = $('textarea').val();
        $('#test').html(x);
        return false;
    });
});

第二

function creatediv(id, html, width, height, left, top) {

       var newdiv = document.createElement('div');
       newdiv.setAttribute('id', id);

       if (width) {
           newdiv.style.width = 300;
       }

       if (height) {
           newdiv.style.height = 300;
       }

       if ((left || top) || (left && top)) {
           newdiv.style.position = "absolute";

           if (left) {
               newdiv.style.left = left;
           }

           if (top) {
               newdiv.style.top = top;
           }
       }

       newdiv.style.background = "#00C";
       newdiv.style.border = "4px solid #000";

       if (html) {
           newdiv.innerHTML = html;
       } else {
           newdiv.innerHTML = "nothing";
       }

       document.body.appendChild(newdiv);

    } 

小心,因为我在asp中使用css为我的母版页设置div,不想覆盖它们。重要的是我不要将它们添加到相同的div中,以及稍后我将添加更多代码,它将在创建的div中包含一个按钮,仅向该div添加注释。

感谢所有可以提供的帮助!

3 个答案:

答案 0 :(得分:2)

是的,不要费心重新发明轮子。获取像jQuery这样的库并学习它。更快,更容易。

http://jquery.com/

但是因为jquery是你的标签之一,我认为你正在使用它?

在这种情况下,只需使用append:

http://api.jquery.com/append/

$(function () {
    $('button').click(function () {
        var x = $('textarea').val();
        $('#test').append(x);
        return false;
    });
});

答案 1 :(得分:1)

基本上是:

$(function () {
    $('button').click(function () {
        var x = $('textarea').val();
        creatediv(..., x, ...);
        return false;
    });
});

但是你需要以某种方式提供函数的其他参数(id,width,height,left,top)。根据你的描述,我不能说你想在那里使用什么。

顺便说一句,你的creatediv有错误。样式属性widthheight(以及lefttop)需要单位,因此您必须使用(例如):

newdiv.style.width = "300px";

答案 2 :(得分:1)

参见DEMO 我想这就是你想做的事。