我想动态地向表头添加文本,但我想不出任何东西。
这是我向div添加文字的方式,
var textForDiv1 = getFromArray.ResourceKey;
$("#someDIVId").text(textForDiv1);
并且它有效,但我如何才能为<th>
执行相同操作?
修改
Html是动态添加的,但这就是我添加
的方式 var someRow= "<tr class='someClass' ><th>text1</th><th>text2</th></tr>"; // add resources
$("#Table").append(someRow);
答案 0 :(得分:3)
您可以使用任何有效的CSS选择器以与在页面上选择其他元素(如div)相同的方式选择元素。例如,如果您想动态更改此表的表头:
<table>
<tr>
<th>One</th>
<th id='th-two'>Two</th>
<th class='tablehead'>Three</th>
</tr>
</table>
你可以这样做:
<script>
// change the first table header
var newTableHeader = 'Five';
$('table th').eq(0).text( newTableHeader );
// change the second table header
var newTableHeader = 'Four';
$('th#th-two').text( newTableHeader );
// change the third table header
var newTableHeader = 'Six';
$('.tablehead').text( newTableHeader );
</script>
答案 1 :(得分:2)
如果你想在表格的所有th
上设置一些文字,那么就这样做:
$("#Table th").each(function () {
$(this).text("Dummy text")
})
您可以执行每个th
中的动态和不同内容:
var temp = new Array();
temp.push("text1");
temp.push("text2");
var i =0;
$("#Table th").each(function () {
$(this).text(temp[i])
i++;
})
答案 2 :(得分:2)
在创建标题时为您的标题添加ID,并像访问任何其他元素一样访问它们:
$(function(){
var someRow= "<tr class='someClass' ><th id='header1' >text1</th><th>text2</th></tr>"; // add resources
$("#Table").append(someRow);
$("#header1").text("Banana");
});
的 Example 强>
答案 3 :(得分:0)
如果您拥有th
,则可以通过其唯一id
标识每个id
。
正如我从您的示例中看到的那样,nth-child
并非如此。因此,您需要使用$("#tab").find("tr.someClass").first().children("th:nth-child(1)").text("Header One");
$("#tab").find("tr.someClass").first().children("th:nth-child(2)").text("Header Two");
选择器来定位它们。
演示:http://jsfiddle.net/abhitalks/CYVH4/1/
相关JS :
nth-child(n)
因此,您使用.eq(n)
来定位您所追求的细胞。或者,您可以使用jQuery $("#tab tr.someClass").eq(0).children("th").eq(0).text("Header One");
来定位特定的单元格。
{{1}}
答案 4 :(得分:0)
在限定符中加入thead
。
<table id="Table">
<thead></thead>
<tbody></tbody>
</table>
使用thead
#Table
var someRow= "<tr class='someClass' ><th>text1</th><th>text2</th></tr>"; // add resources
$("#Table thead").append(someRow);