如何检查ul标签中的文本

时间:2016-02-29 13:36:47

标签: javascript jquery

我正在尝试在网站上实现某种功能,我需要检查在<ul></ul>标签之间写入的任何内容。如果没有,则应在标签之间追加文字

到目前为止,我已经尝试过进行条件语句,但是当我调试语句时,这些语句似乎被忽略了。

以下是我尝试过的代码:

if($('ul.list-group').length > 0 === false) {
   $('ul.list-group').append('Drag a page inside or below the box to create a child page');
}

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试收集目标元素的文本内容并检查其长度,

var elem = $('ul.list-group');
if(!elem.text().length) {
   elem.text('Drag a page inside or below the box to create a child page');
}

正如 epascarello 所指出的,一个UL不能将文本节点作为其直接子节点。不完全是,它可以。但它被视为无效的HTML。更好的方法是,

var elem = $('ul.list-group');
if(!$("li", elem).length) {
   elem.html('<li>Drag a page inside or below the box to create a child page</li>');
}

答案 1 :(得分:0)

要查找所有空的ul.list-group元素 - 它们没有子元素或文本:

$('ul.list-group:empty').text('Drag a page inside or below the box to create a child page');

https://api.jquery.com/empty-selector/