1
爲
columns().every()
https://datatables.net/reference/api/columns().every()
數據表文件這個問題:數據表列()每():當多個表
此列()每()方法...設置回調函數的上下文到 是所討論列的column()實例。
但是,在下面的代碼中使用兩個表時,即使在迭代第二個表的列時,this
也始終引用第一個表。它不會在第二個表中設置該類。相反,它將它設置在第一個表中兩次。我究竟做錯了什麼?或者我該如何優雅地解決這個問題?
<!DOCTYPE html>
<html>
<title>DataTables test</title>
<link rel="stylesheet" href="//cdn.datatables.net/v/dt/dt-1.10.16/datatables.min.css">
<style>
.bgcolor {
background-color: red;
}
</style>
<script src="//code.jquery.com/jquery-3.2.1.js"></script>
<script src="//cdn.datatables.net/v/dt/dt-1.10.16/datatables.min.js"></script>
<table>
<thead><tr><td>Head
<tbody><tr><td>Cell in first table
</table>
<table>
<thead><tr><td>Head
<tbody><tr><td>Cell in second table
</table>
<script>
$(function() {
var tables = $('table').DataTable();
tables.columns().every(function(columnIndex, tableCounter) {
var nodes = this.nodes();
$(nodes).addClass('bgcolor');
});
});
</script>
https://jsfiddle.net/a3j6zv62/
更新可以做什麼,我期待的。謝謝。我注意到的行爲會是DataTables中的一個錯誤嗎? – PaulH
根本不是,它應該做什麼...... – MaVRoSCy
關於'正在做什麼'。 我不明白。每個循環遍歷兩個表:tableCounter的值爲0和1,但是當它爲1時,這是指第一個表而不是第二個表。爲什麼要這樣做? - PaulH 7 m – PaulH