2014-04-17 48 views
-1

应用类我有下面的代码但是没有应用类“输入-SM”,因为该功能是文件准备好效果很好在文件准备

 for(var i = 1; i <= 3; i++) { 
     $('#boxes').append('<textarea onKeyUp="saveanswers()" class="input-sm" >') 
    } 

我该如何解决这个问题?

编辑:

此代码创建3个文本区域。类'input-sm'应该以某种方式对盒子进行样式设计。但是,因为此功能在文档准备就绪时发生,所以样式不适用。我怎样才能解决这个

编辑2:

我已经能够解决但在div“盒子”坐在后面的其他项目即使有一个高的z-index问题

+1

我不明白。 –

+0

看看jQuery的'on'方法:https://api.jquery.com/on/ –

+0

嗯,一定有另外一个问题。即使你稍后添加一个css类,这些样式也会被应用。 你可以提供更多的html或者javascript代码来清除吗? – Homungus

回答

0

您应该使用首选附加元素到DOM方法。请注意,在我的例子,我创建了一个jQuery对象,包装一个<textarea/>元素,然后让我在调用jQuery函数该对象;在这种情况下:keyupaddClass

for(var index = 0; index <= 3; index++) { 
    $("#boxes").append(
     $("<textarea/>") 
      .addClass("input-sm") 
      .keyup(function() { saveanswers(); }) 
    ); 
} 

这里是一个jsFiddle demo

0

尝试了这一点,例如

Working Demo

$(document).ready() 
{ 
    for(var i = 1; i <= 3; i++) { 
     $('#boxes').append('<textarea onKeyUp="saveanswers()" class="input-sm'+i+'" >') 
    } 
} 

CS s

​​
0

因为代码是正确的,所以您必须在JS中发生冲突。 我做了一个测试,它的工作:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 

<script type="text/javascript"> 
jQuery(function($){ 

    for (var i=0; i<3; i++) { 
    $("#boxes").append('<textarea onKeyUp="saveanswers()" class="input-sm" >'); 
    } 

    console.log($("textarea.input-sm").length); // 3 

}) 
</script> 

<div id="boxes"> 
    <input type="text" name="name" id="name" /> 
    <input type="text" name="email" id="email" /> 
</div> 

尽量不要使用“‘的onkeyup =’saveanswers()”“,留下‘污染’的代码,因为你已经在使用jQuery,做一个绑定( http://api.jquery.com/category/events/

$("textarea.input-sm").keyup(function() { 
    alert("Handler for .keyup() called."); 
});