2017-05-26 60 views
0

我想在td中添加一個div。在td中添加一個div jquery

我的TD

<td>Fiction</td> 

後我寫的代碼

var cell = getCell(indexRow + 1, colIndex); 
var wrap = $('<div/>').attr('id', 'container'); 

cell.append(wrap); 

現在變得之前

<td> Fiction [object Object] </td> 

的JavaScript

function getCell(row, col){ 

    var currentRow = $('#MapDetails tr')[row]; 
    var cell = $(currentRow).find('td')[col]; 

    return cell; 
} 
+0

嘗試使用'$( 「

」)' – guradio

+0

沒了......我想的是,文字小說進去一個div – Samra

+0

我測試了你的代碼只有一個單元格,它'append'正常工作'​​Fiction

' –

回答

1

有幾個語法錯誤。

看看這個代碼,並隨時提問...

function getCell(row, col){ 
 

 
    var currentRow = $('#MapDetails tr'); 
 
    var cell = currentRow.eq(row).find('td').eq(col); 
 

 
    return cell; 
 
} 
 

 
var indexRow = 0; 
 
var colIndex = 0; 
 

 
var cell = getCell(indexRow + 1, colIndex); 
 
var wrap = $('<div>').attr('id', 'container').text("I'm the new div!"); 
 
cell.append(wrap);
td{ 
 
    border:1px solid black; 
 
} 
 
td div{ 
 
    border: 2px solid red; 
 
    padding: 4px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<table id="MapDetails"> 
 
    <tr> 
 
    <th>Header</th> 
 
    </tr> 
 
    <tr> 
 
    <td>Fiction</td> 
 
    </tr> 
 
</table>

+0

現在沒有任何反應仍然​​小說 – Samra

+0

細胞以及如果你運行上面的代碼片段,你會看到它的工作原理。因此,檢查你的項目有什麼不同。 –

+0

可能是因爲我在桌子上放了一個劍道包裝?這應該是這樣我偵察 – Samra

0

.attr(key, value)只將屬性設置爲jQuery對象。

您可能想要通過以下代碼創建一個具有特定屬性的設備。

var cell = getCell(indexRow + 1, colIndex); 
var wrap = $('<div />', {id: 'container'}); 

cell.append(wrap); 

,或者如果你想wrap是唯一的元素內<td>然後

cell.html(wrap); 
+0

都能跟得上:(到底做了相同的輸出 – Samra

+0

如何使用'的.html()'? –

0

使用HMLT,而不是追加 希望這將解決使用HTML這樣 cell.html( 「」), 讓我知道如果這不起作用,

+0

都能跟得上我加入cell.innerHtml,這是undefined..mainly,因爲它是一個jQuery對象不是HTML對象 – Samra

+1

應該在你的getCell功能不對勁然後 – eMaX

0
<!DOCTYPE html> 
<html> 
    <head> 
    <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
     var indexRow = 0; 
     var colIndex = 0; 
     var cell = getCell(indexRow + 1, colIndex), 
      $cell = $(cell); 
     var wrap = $('<div/>').attr('id', 'container').text($cell.text()); 

     $cell.html(wrap); 

     function getCell(row, col) { 
      var currentRow = $('#MapDetails tr')[row]; 
      var cell = $(currentRow).find('td')[col]; 

      return cell; 
     } 
     }); 

    </script> 
    </head> 

    <body> 
    <table id="MapDetails"> 
     <tr> 
     <th>name</th> 
     <th>title</th> 
     </tr> 
     <tr> 
     <td>Samra</td> 
     <td>Developer</td> 
     </tr> 
     <tr> 
     <td>Debasis</td> 
     <td>Developer</td> 
     </tr> 
    </table> 
    </body> 

</html>