Проверьте, отображается ли таблица путем подсчета количества тегов таблицы.Вместо проверки пустой строки, проверьте длину массива:
var DLFunc = document.getElementsByTagName("table");
var DLButtons = document.getElementById("tableToCsv");
if (DLFunc.length == 0) {
DLButtons.style.visibility = 'hidden';
} else {
DLButtons.style.visibility = 'visible';
}
Также проверьте, когда выполняется код (возможно, добавьте предупреждение), поскольку таблицы, возможно, не были созданы во время работы вашего JS.
ОБНОВЛЕНИЕ:
Ваш JS не будет поднимать таблицу, поскольку она запускается при загрузке страницы, тогда как AngularJS, вероятно, создает элементы позже.
Вы можете добавить что-нибудькак следующее для ваших DLButtons HTML:
<button class="btnCSV" *ngShow="hasTable()">CSV file</button>
Затем в вашем Angular Component.ts / js:
hasTable() {
return document.getElementsByTagName("table").length > 0;
}