鉴于下表:
<table id="incidents"> <thead> <tr> <th></th> </tr> </thead> <tbody> </tbody> </table>
使用jQuery,以下评估为false:
$("#incidents tbody").is(":empty")
我想使用CSS将内容设置为消息:
#incidents tbody:empty { content: "<tr>message foo</tr>"; }
可以:empty选择器应用于tbody吗?
解决方法
不,不幸的是,tbody中的缩进和换行阻止它匹配:在这种情况下为空.这适用于
CSS和
jQuery,据我所知:空行为相同,以及jQuery的
:parent
,相当于:not(:empty)(名称选择非常差).
此外,you cannot use CSS content
to add elements to the DOM.您需要在jQuery或服务器端执行此操作:检查tbody是否有任何行,如果没有,请添加该行.
如果你使用jQuery,你可以使用:
var tbody = $("#incidents tbody"); if (tbody.children().length == 0) { tbody.html("<tr>message foo</tr>"); }