如何使用CSS编辑jQuery表

如何使用CSS编辑jQuery表,jquery,css,html-table,Jquery,Css,Html Table,我有一个使用jQuery创建表的外部文件。 我试图将第一列设置为与其他列不同的宽度。 我更愿意添加一些我可以在css中使用的东西,以使将来的编辑更容易。 我正在努力使语法正确。代码注释中显示了我的几次尝试,但我也尝试过其他尝试,但都失败了 var $table = $('<table>'); $table.append() // thead .append('<thead>').children('thead') .append('<tr />').child

我有一个使用jQuery创建表的外部文件。 我试图将第一列设置为与其他列不同的宽度。 我更愿意添加一些我可以在css中使用的东西,以使将来的编辑更容易。 我正在努力使语法正确。代码注释中显示了我的几次尝试,但我也尝试过其他尝试,但都失败了

var $table = $('<table>');
$table.append()
// thead
.append('<thead>').children('thead')
.append('<tr />').children('tr').append('<th></th><th>Sun</th><th>Mon</th><th>Tue</th><th>Wed</th><th>Thu</th><th>Fri</th><th>Sat</th>');

//tbody
var $tbody = $table.append('<tbody />').children('tbody');

// add row
$tbody.append('<tr />').children('tr:last')
//.append("<th class="dynamicTable-rowHead">name</td>") -console gives Uncaught SyntaxError: missing ) after argument list
//.append("<th>name</th>").setAttribute('width', '10%')  //setAttribute is not a function
.append("<th>name</td>")  //this works but cannot define a width in css without it affecting all table columns
.append("<td>val</td>")
.append("<td>val</td>")
.append("<td>val</td>")
.append("<td>val</td>")
.append("<td>val</td>")
.append("<td>val</td>")
.append("<td>val</td>");

// add table to dom
$table.appendTo('#dynamicTable');
var$table=$('');
$table.append()
//泰德
.append(“”).children('thead'))
.append('').children('tr').append('SunMonTueWedThuFriSat');
//t车身
var$tbody=$table.append(“”).children('tbody');
//添加行
$tbody.append(“”).children('tr:last')
//.append(“name”)-控制台在参数列表后提供未捕获的语法(错误:缺少)
//.append(“name”).setAttribute('width','10%')//setAttribute不是函数
.append(“name”)//这可以工作,但不能在css中定义宽度,否则会影响所有表列
.append(“val”)
.append(“val”)
.append(“val”)
.append(“val”)
.append(“val”)
.append(“val”)
.附加(“val”);
//向dom添加表
$table.appendTo(“#dynamicTable”);

您只能使用css来完成

var$table=$('');
$table.append()
//泰德
.append(“”).children('thead'))
.append('').children('tr').append('SunMonTueWedThuFriSat');
//t车身
var$tbody=$table.append(“”).children('tbody');
//添加行
$tbody.append(“”).children('tr:last')
//.append(“name”)-控制台在参数列表后提供未捕获的语法(错误:缺少)
//.append(“name”).setAttribute('width','10%')//setAttribute不是函数
.append(“name”)//这可以工作,但不能在css中定义宽度,否则会影响所有表列
.append(“val”)
.append(“val”)
.append(“val”)
.append(“val”)
.append(“val”)
.append(“val”)
.附加(“val”);
//向dom添加表
$table.appendTo(“#dynamicTable”)
#动态th:第一个孩子{
宽度:200px;
}
#动态th{
宽度:100px;
文本对齐:左对齐;
}

jQuery有一个
attr()
方法

您还可以使用
:first child
CSS'选择器

最后,这个

"<th class="dynamicTable-rowHead">name</td>"
          ^^^                  ^^^
“名称”
^^^                  ^^^
无法工作,因为您正在断开字符串。您可以通过以下方式解决此问题:

'<th class="dynamicTable-rowHead">name</td>'
“名称”

“名称”

“名称”

您在一些
附件中有一些不正确的结束标记使用外部CSS,而不是内联:
表tbody th{width:10%;}
还要注意,您使用
append()
然后使用
children()
选择刚刚创建的元素的模式可以通过使用
appendTo()
来否定。例如,
var$tbody=$('').appendTo($table)谢谢我认识的每个人都有很多东西要学,但是Sumit Patel给了我一个非常好的解决方案,我很高兴这对我有所帮助。
"<th class=\"dynamicTable-rowHead\">name</td>"
"<th class='dynamicTable-rowHead'>name</td>"