如何在当前对象中添加新元素?

时间:2012-11-29 19:29:29

标签: jquery

有以下JQuery代码:

    $(document).ready(function(){
        $(".translated").mouseenter(function(){
            $(this).html("<input type='text'/>");
        });
    });

并且表中包含许多带有文本的<div class="translated">项。我需要替换div块中的文本以通过mouseenter事件输入项目。有用。但是我还需要在替换过程中为input元素设置属性,我不知道如何做到这一点,因为我是JS / JQuery的新手。拜托,给我一些信息。先感谢您。

更新:抱歉,我的属性也是用JS计算的,它不是常数。

更新2: 算法: 1)在div项中插入输入项 2)更改新插入项目的高度

3 个答案:

答案 0 :(得分:3)

在设置type="text"时,只需设置其余输入属性,如下所示

$(this).html("<input type='text' /* other attributes */ />");

或使用如下,

$('<input />').attr({type: 'text'/*, more attributes*/});

答案 1 :(得分:1)

 var someVariable = 1 + 2;
 $(this).html("<input type='text' anotherAttribute='something' attrFromValue='" 
     + someVariable + "' />");

答案 2 :(得分:0)

为了记录,有一个特殊的jQuery语法用于元素创建。

$("<input/>", {
    type: "text",
    height: 100
}).appendTo(this);

上面插入input元素,type属性设置为textheight(CSS)设置为100px

附加到目标元素的生成标记是:

<input type="text" style="height: 100px;">