Javascript 在DocumentReady上应用类

Javascript 在DocumentReady上应用类,javascript,jquery,Javascript,Jquery,我有以下代码,运行良好 for(var i = 1; i <= 3; i++) { $('#boxes').append('<textarea onKeyUp="saveanswers()" class="input-sm" >') } for(var i=1;i例如,试试这个 $( document ).ready() { for(var i = 1; i <= 3; i++) { $('#boxes'

我有以下代码,运行良好

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

for(var i=1;i例如,试试这个

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

您的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>
您应该使用首选方法将元素附加到DOM中。请注意,在我的示例中,我创建了一个
jQuery
对象,包装了
元素,然后允许我调用对象上的jQuery函数;在本例中:
keyup
addClass

示例

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

for(var index=0;index看看jQuery'on'方法:嗯,一定还有另一个问题。即使以后添加css类,也会应用样式。您能提供一些html或javascript代码来进行清理吗?样式(来自css)应该得到应用。如果没有,那么您的CSS中有一个错误。事件和javascript可能没有(如果在添加这些元素之前它已经被绑定。请参阅@Billy Moat的注释和
方法上的
来解决这个问题。如果你正在通过javascript或其他疯狂的方式应用样式,那么不要-将它放在CSS文件中,它应该“正常工作”
$("textarea.input-sm").keyup(function() {
  alert( "Handler for .keyup() called." );
});
for(var index = 0; index <= 3; index++) {
    $("#boxes").append(
        $("<textarea/>")
            .addClass("input-sm")
            .keyup(function() { saveanswers(); })
    );
}