子要素を持たないものを取得。子要素を持たないinput, img, br, hrは定義上空なので選択される。
IE(8で確認)の場合、空白も空とみなされる模様
サンプル
実行結果
aaaa
Javascript
$('.jqTest .execute').click(function(){
alert($(':empty', '.jqTest').length);
$('.jqTest :empty').css({
display: 'block',
width: '200px',
height: '20px',
padding: '1em',
border: '1px solid #990000',
background: '#CCCCCC'
});
});
HTML
<div class="jqTest">
<p></p>
<p> </p>
<p><span></span></p>
<ul>
<li><span></span></li>
<li>empty?</li>
<li> </li>
</ul>
<br />
<br />
<div></div>
<div>aaaa</div>
<img src="/resource/icons/comment.gif" />
<br />
<br />
<input type="text" name="data[tel]" value="電話暗号は入力できません" />
<hr />
<button>ボタン</button>
<textarea></textarea>
<textarea>テキストエリア</textarea>
<table>
<tr><td></td><td>table td</td></tr>
<tr><td> </td><td></td></tr>
</table>
<hr />
<button class="execute">:empty を選択</button>
</div>