我有html
<ul>
<li>option1: blue </li>
<li>option2: red</li>
<li>option3: </li>
<li>option4: green</li>
<li>option5: </li>
</ul>
我想要做的是在选项后隐藏li:没有字符/值。
我使用查询的知识有限,我还没有找到一个可以帮助我找到解决方案的示例。如有必要,我可以将红色,绿色等值括起来。
这可以用Jquery完成吗?
答案 0 :(得分:1)
这样的事情会起作用:
$("ul li").each(function() {
var optionText = $(this).text().split(":")[1];
if (optionText.trim() == "")
$(this).hide();
});
答案 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();
}
});
});