2013-08-30 50 views
0

我玩弄一些現有的代碼,並希望添加一些jQuery,使其有點現代。這裏是我的代碼:窗體保持清爽

<form stuff> 
<div class="inputContainer"> 
     <input placeholder="Name" type="text" name="FullName" id="FullName" class="cat_textbox" maxlength="255" /> 
    </div> 
<!--Other stuff and submit--> 
</form> 

<script> 
$(document).ready(function(e) { 
    $('#FullName').keyup(function(e) { 
     var fullName = $(this).val(); 
     if(fullName.length > 5){ 
      alert("greater than 5"); 
     } 
     else{ 
      var $toAppend = $(' div ') 
       .addClass(' result ') 
       .html('Length is not greater than 5'); 
      $toAppend.after(this); 


     } 
    }); 

}); 

</script> 

當我嘗試追加時,頁面刷新。看着視察元素,這裏什麼都沒有!無法弄清楚。我怎樣才能解決這個問題?

回答

1

我想你想:

var $toAppend = $('<div>') 

var $toAppend = $(' div ') 

第一個使新<div>;第二個選擇頁面上的任何和所有現有的<div>,然後您將after(this)移動/複製(?)它們。

+0

我真是個白癡!不能相信我忘了標籤..非常感謝你!我也將語法從後改爲 $(this).parent()。append($ toAppend); –

+0

你確定這可以嗎?它看起來像你的'後()'是不正確的 - 你將'this'附加到'$ toAppend' –

+0

@Rowenia是正確的,你需要添加大於和小於,但我不認爲它解決了刷新的問題。您需要更改最後一行:http://jsfiddle.net/Q3n3v/。如果你想保持它的方式,你需要使用['insertAfter()'](http://api.jquery.com/insertAfter/)而不是'after()'。 –