2017-09-29 38 views
1

我試圖用JavaScript

$(document.ready(function() { 
 
    var laterbox = document.getElementById('laterbox'); 
 
    var tabl = document.createElement('table'); 
 
    var trh = document.createElement('tr'); 
 
    var trd = document.createElement('tr'); 
 
    var txt = document.createTextNode('book_id'); 
 
    var tr1 = document.createElement('th'); 
 
    tr1.appendChild(txt); 
 
    trh.appendChild(tr1); 
 
    tabl.appendChild(trh); 
 
    tabl.appendChild(trd); 
 
    laterbox.appendChild(tabl); 
 
}));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="laterbox"> 
 
    <table> 
 
    <tr> 
 
     <th>aa</th> 
 
     <th>bb</th> 
 
    </tr> 
 
    <tr> 
 
    </tr> 
 
    </table> 
 
</div>

但第二臺簡化版,顯示器,我不知道爲什麼在HTML中添加表。我嘗試了很多次,但找不到錯誤。你可以在這裏看到的輸出:https://codepen.io/sandesh_bafna8/pen/BwQZGv

+0

其他人已經回答了這個問題,所以我只是在這裏留下一些關於調試JS的一般建議。在運行腳本時檢查瀏覽器控制檯的輸出,這樣的錯誤會立即被標記。也可以使用更多的描述性變量名稱 - 它可以在這樣一個小腳本上工作,但是要弄清楚'tabl1','tr1'和類似的東西在更大的代碼庫中的作用是一個真正的痛苦,並導致更多的時間花費在計算出來比輸入'tableToInsert'或'tableRow'的時間要多。 :) – ppajer

回答

1

$(document).ready(function() { 
 
    var laterbox = document.getElementById('laterbox'); 
 
    var tabl = document.createElement('table'); 
 
    var trh = document.createElement('tr'); 
 
    var trd = document.createElement('tr'); 
 
    var txt = document.createTextNode('book_id'); 
 
    var tr1 = document.createElement('th'); 
 
    tr1.appendChild(txt); 
 
    trh.appendChild(tr1); 
 
    tabl.appendChild(trh); 
 
    tabl.appendChild(trd); 
 
    laterbox.appendChild(tabl); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="laterbox"> 
 
    <table> 
 
    <tr> 
 
     <th>aa</th> 
 
     <th>bb</th> 
 
    </tr> 
 
    <tr> 
 
    </tr> 
 
    </table> 
 
</div>

$(document.ready(function() { =>$(document).ready(function() {

2

你不必在你的document)和額外)底。刪除它,它會運行

$(document).ready(function(){ 
 
    var laterbox=document.getElementById('laterbox'); 
 
     var tabl=document.createElement('table'); 
 
     var trh=document.createElement('tr'); 
 
    var trd=document.createElement('tr'); 
 
    var txt=document.createTextNode('book_id'); 
 
    var tr1=document.createElement('th'); 
 
tr1.appendChild(txt); 
 
trh.appendChild(tr1); 
 
    tabl.appendChild(trh); 
 
    tabl.appendChild(trd); 
 
    laterbox.appendChild(tabl); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="laterbox"> 
 
    <table> 
 
     <tr> 
 
     <th>aa</th> 
 
     <th>bb</th> 
 
     </tr> 
 
     <tr> 
 
     </tr> 
 
    </table> 
 
    </div>

提示:如果你的代碼不能正常工作嘗試看看控制檯,如果有一個錯誤..缺少或額外的支架和括號將顯示爲有一個錯誤..

+0

雅語法是正確的我錯過了,一個更多的錯誤是我錯過了jquery鏈接 –

+0

@sandeshbafna如果這解決了你的問題只是把它標記爲答案。所以這個問題將被關閉,當然還有我們兩個人的代表。 –

1

你有一些錯字錯誤:

  1. $(document.ready(function() {應該$(document).ready(function() {

  2. 關閉}));應該是});

以下是更正代碼:

$(document).ready(function() { 
 
    var laterbox=document.getElementById('laterbox'); 
 
    var tabl=document.createElement('table'); 
 
    var trh=document.createElement('tr'); 
 
    var trd=document.createElement('tr'); 
 
    var txt=document.createTextNode('book_id'); 
 
    var tr1=document.createElement('th'); 
 
    
 
    tr1.appendChild(txt); 
 
    trh.appendChild(tr1); 
 
    tabl.appendChild(trh); 
 
    tabl.appendChild(trd); 
 
    laterbox.appendChild(tabl); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="laterbox"> 
 
    <table> 
 
     <tr> 
 
     <th>aa</th> 
 
     <th>bb</th> 
 
     </tr> 
 
     <tr> 
 
     </tr> 
 
    </table> 
 
</div>