Показать диалоговое окно jQuery-ui, если <div>не пусто - PullRequest
0 голосов
/ 18 сентября 2011

У меня есть блок div, подобный этому:

<div id="myDiv">
<table>
<tbody>
<tr>Some data</tr>
</tbody>
</table>
</div>

Все, что я хочу сделать, это проверить, есть ли в <tr></tr> какой-либо текст, и отобразить этот блок div в диалоговом окне, в противном случае ничего не делать.

Каков наилучший способ сделать это? Я не знаю, как проверить, пусто <tr></tr> или нет.

Ответы [ 3 ]

5 голосов
/ 18 сентября 2011

Прежде всего, у вас есть недействительный HTML. Тег tr может содержать один или несколько элементов th или td (W3C). Так что исправьте свой HTML.

Что касается проверки с использованием jQuery:

if ($('#myDiv table tr td').is(':empty')) {
}
else {
}

http://jsfiddle.net/JnyJs/1/

0 голосов
/ 18 сентября 2011

ДЕМО

var text = $.trim($('#myDiv').text());
if (text) {
    alert(text);
}
0 голосов
/ 18 сентября 2011

Вы можете проверить "пустоту", используя функцию jQuery .text():

var $tr = $('#myDiv > table > tbody > tr');

if ($tr.text())
{
    // div is not empty
}
else
{
    // div is empty
}

Возможно, вы захотите $.trim() пробел из возвращенной строки.

...