Я использую таблицу для заполнения данных в теле, а также показываю диапазон. Данные поступают динамически с использованием Javascript. Зависимость примерно такая:

если tbody пусто: отображать SPAN

если в теле есть данные: скрыть SPAN

// HTML-код

<table id="incidents">
    <tbody>
    </tbody>
</table>
<br />
<button onclick="func()">Check table</button>
<br />

<span class="abc">Drop your files here to upload</span>

// Код JQuery

function func() {
var tbody = $("#incidents tbody");

if (tbody.children().length != 0) {
      $('.abc').css('display','none');
    }
}
0
b0y 14 Июн 2016 в 09:12
Вы хотите, чтобы это происходило при нажатии кнопки или при загрузке страницы?
 – 
Nikhilesh K V
14 Июн 2016 в 09:16
Я хочу, чтобы это было случайным, а не нажатием кнопки. что-то вроде функции onchange
 – 
b0y
14 Июн 2016 в 09:21

3 ответа

Используйте обрезку в качестве дополнительной проверки

function func() {
  var contentLen = $.trim($("#incidents tbody").children()).length;

  if (contentLen == 0) {
   $('.abc').css('display','none');
  } else {
   $('.abc').css('display','block');
  }    
}
1
Mahesh.D 30 Дек 2016 в 17:30

Попробуй это

if($("#incidents tbody").children().length > 0)
{
  $('.abc').css('display','none');
} 
else 
{
  $('.abc').css('display','block');
}
0
Mairaj Ahmad 14 Июн 2016 в 09:15
function func() {
  var tbody = $("#incidents tbody");

  if (tbody.children().length == 0) {
    $('.abc').removeClass('hide');
  }
}
.hide {
  display: none
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="incidents">
  <tbody>
  </tbody>
</table>
<br />
<button onclick="func()">Check table</button>
<br />

<span class="abc hide">Drop your files here to upload</span>
function func() {
  var tbody = $("#incidents tbody");

  if (tbody.children().length == 0) {
    $('.abc').removeClass('hide');
  }
}
.hide {
  display: none
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="incidents">
  <tbody>
    <tr><td>asd</td></tr>
  </tbody>
</table>
<br />
<button onclick="func()">Check table</button>
<br />

<span class="abc hide">Drop your files here to upload</span>
  1. проверьте, равна ли длина детей tbody == 0
  2. лучше просто добавить / удалить класс, чем напрямую поставить css с помощью jquery / js
0
guradio 14 Июн 2016 в 09:23