2012-02-11 33 views
2

我是初学者在DOM的JavaScript,所以我有这样的问题。 我有html表单那样=>createElement造型

<div id="name_field" style="text-align: center;"> 
    <form name="add" action="index.php" method="post"> 
    Name&nbsp;&nbsp;&nbsp;<input type="text" name="name_" id="name_" size="15">&nbsp;&nbsp;&nbsp;<a href="javascript:void(0)" class="some" onclick="addChild();">Add&nbsp;More</a><br> 
    <span id="a">here is that</span> 
    </form> 
</div> 

而且要调用像可以看出,这将在DIV追加“输入”元素与风格(CSS)含量的addChild()函数。我有这样一个JavaScript代码=>

function addChild() 
{ 
    var div = document.getElementById("name_field"); 
    var el = document.createElement("input"); 
    el.style.size = 10; 
    div.appendChild(el); 
} 

但它不工作...还需要自上而下,如何追加“输入”元素要做到这一点,如果有人帮助我。谢谢... :)

回答

2

input元素的size不是样式属性。这是input元素本身的属性。

所以这...

el.style.size = 10; 

应该是这样的......

el.size = 10; 

我只是不知道你的意思 “还需要追加” 输入“元素从上到下...”

+1

谢谢,作品:) – tnanoba 2012-02-11 18:30:03

+0

@Tornike:不客气。 – 2012-02-11 18:30:20

+1

你是对的,但它可能'更好'(对于网站一致性)使用CSS方法:'el.style.width ='10em';'(例如)。虽然,同样显然,这不是什么OP问...不管,+1 – 2012-02-11 18:31:42

0

没有style.size。也许你正在寻找style.height或style.width?

+0

我想改变输入表单(字段)的大小,怎么做? – tnanoba 2012-02-11 18:28:40

+0

好吧,el.size = xxx – 2012-02-11 18:30:33

+0

我建议使用后者'el.style.width ='10em';'(例如),因为'size'属性反映了字符宽度(IIRC)输入“元素。 – 2012-02-11 18:33:13

0

首先,样式中没有大小。你可以设置高度和宽度。

ele.style.width ='10px';

之后却也实在是不跨浏览器competible,这样你们可以一起去,

ele.setAttribute( '风格', '宽度:10px的;高度:10px的');

您使用的尺寸在Firefox和IE中会有所不同。 !