2011-04-20 38 views
0

我如何設置使用jQuery的表列的寬度。下面提供的代碼不起作用。請幫忙。如何使用jquery設置列的寬度?

function addColumn(column) 
    { 
    var iHtml; 
    iHtml = "<tr><td width="30%"><input type='checkbox'> " + column + '</td><td><input type="text" id="aln' + column + '"></td></tr>'; 
    return iHtml 
    } 

回答

1
iHtml = '<tr><td width="30%"><input type="checkbox"> ' + column + '</td><td><input type="text" id="aln' + column + '"></td></tr>'; 

只是"'

更新的問題:

iHtml = 'text"';  // whole text inside first `'` and next `'` will be treated as string. so correct way to use 
iHtml = 'text's sample'; // incorrect way to use, correct way is iHtml = 'text\'s sample'; or iHtml = 'text"s sample'; 
+0

是的,謝謝......它的工作原理是將30%的雙引號刪除。有什麼區別嗎? – NewBie 2011-04-20 08:27:28

+0

檢查更新.... !!! – Gaurav 2011-04-20 08:42:14

+0

@NewBie:引號是可選的。在HTML5中,如果該屬性不包含以下任何一項,則允許省略引號:'''=>'或空格。 – Town 2011-04-20 08:54:51

0

你糊塗了你的字符串連接。

function addColumn(column){ 
    var iHtml; 
    iHtml = '<tr><td width="30%"><input type="checkbox"> ' + column + '</td><td><input type="text" id="aln' + column + '"></td></tr>'; 
    return iHtml; 
} 
$('#test').append(addColumn('t')); 

此代碼將你的行追加到表的ID test

當你標記你的問題jQuery的,這裏是一個非常正式的方法:

function addColumn2(column){ 
    var chkBox = $('<input>') 
        .attr('type','checkbox'); 
    var txtInput = $('<input>') 
         .attr({ 
          type:'text', 
          id:'aln'+column 
         }); 
    var col1 = $('<td>') 
        .css({width:'30%'}) 
        .text(column) 
        .prepend(chkBox); 
    var col2 = $('<td>') 
        .append(txtInput); 
    var row = $('<tr>').append(col1).append(col2); 
    return row; 
} 
$('#test').append(addColumn2('t')); 

Example at jsFiddle