У меня есть следующий (упрощенный) код JQuery:
$(document).ready(function() {
var table = $('#bot_table').DataTable( {
"ajax": "/static/Dashboard/pos.txt",
"paging": false,
"searching": false,
"columns": [
{ "data": "name_of_instance"},
{ "data": "bt" },
{ "data": "updated" },
{ "data": "pos" },
{ "data": "l_s" },
{ "data": "l_t" },
{ "data": "p_l" },
{
"className": 'details-control',
"orderable": false,
"data": null,
"defaultContent": ''
}
],
} );
$("td").html(function(){
var elem = $(this).html().replace("DELETE INSTANCE", "<button id = \"gen_del_instance\" type=\"button\" class=\"btn\"><span class=\"glyphicon glyphicon-trash\"></span> <u>DELETE INSTANCE</u></button>")
return elem
});
Предполагается, что после загрузки DataTable
селектор ниже найдет все строки и заменит их на кнопку.
Это не работает, хотя. Это работает только если я предшествую alert()
перед $("td")
и т. Д. селектор.
Насколько я понимаю, DOM
не обновляется после вызова DataTable()
и принудительно обновляется после alert()
.
Есть ли способ добиться желаемого поведения?