使用带有Jquery </li>的条件隐藏<li>

时间:2014-01-03 16:59:59

标签: jquery html list hide

我有html

<ul>
<li>option1: blue </li>
<li>option2: red</li>
<li>option3: </li>
<li>option4: green</li>
<li>option5: </li>
</ul>

我想要做的是在选项后隐藏li:没有字符/值。

我使用查询的知识有限,我还没有找到一个可以帮助我找到解决方案的示例。如有必要,我可以将红色,绿色等值括起来。

这可以用Jquery完成吗?

3 个答案:

答案 0 :(得分:1)

这样的事情会起作用:

$("ul li").each(function() {
    var optionText = $(this).text().split(":")[1];
    if (optionText.trim() == "")
        $(this).hide();
});

小提琴:http://jsfiddle.net/44qeG/

答案 1 :(得分:0)

$('#the-list li').each(function() {
    var text = $(this).text();
    if (!text.match(/option\d+: .+?/g)) {
        $(this).hide();
    }
});

当然,假设您的列表有id="the-list"

小提琴:http://jsfiddle.net/edJy4/

正则表达式模式解释:文本包含一个字符串,以“option”开头,后跟一个或多个数字,冒号,空格,然后是一个或多个字符。如果li 包含此类字符串,则隐藏li

答案 2 :(得分:0)

这个使用正则表达式:

$(function(){
    $('li').each(function(){
        if($(this).text().search(/option\d:\s\s*$/) == 0){
            $(this).hide();   
        }
    });
});

http://jsfiddle.net/pT8s2/