我需要检查DOM中的任何字段集是否为空.空表示内部没有文本(图例不在里面).例如,这是一个空的字段集:
<fieldset> <legend>a1</legend> <input type="hidden" name="x" value="y"> </fieldset>
除了图例外,它没有文本节点.
到目前为止,我正在使用此JQuery来检查这种情况:
if ($(this).find(":not(legend)").text().trim() == '') { ... }
请注意,这来自.each()调用.问题是,现在我发现它不适用于这样的嵌套字段集:
<fieldset> <legend>a</legend> <fieldset> <legend>a1</legend> </fieldset> <fieldset> <legend>a2</legend> </fieldset> </fieldset>
在这种情况下,jquery表达式:
$("fieldset").find(":not(legend)").text().trim()
结果返回“a1 a2”.有什么问题? JsFiddle