有以下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)更改新插入项目的高度
答案 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
属性设置为text
,height
(CSS)设置为100px
。
附加到目标元素的生成标记是:
<input type="text" style="height: 100px;">