如果给定元素只有一个子元素(包括文本节点,但忽略空格),如何使用jQuery或JavaScript进行测试。检查元素是否只有一个子元素
示例:对于标记元素“DIV”以下时,测试将失败,因为它有两个子元素:p和文本节点:
<div>
<p>Test-1</p> - subline
</div>
示例:对于以下标记元素“DIV”,测试应该通过,因为它只有一个子元素:p(尽管空格被忽略):
<div>
<p>Test-1</p>
</div>
好像element.children()将无法工作,因为它忽略了文本节点。 element.contents()可能有效,但不会忽略空格。
任何方式重构并使其更小。 – Nick
@尼克为什么会这么重要?如果您需要反复使用它,请将其解压缩到一个函数中。 –
@RoryMcCrossan它的工作原理,但简洁一些将是可取的。我尝试重构它:element.contents()。filter(':only-child')。length。如果没有比Arun的答案更好或更短的方法,那么我会很乐意接受它。 – Nick