У меня html
<ul>
<li>option1: blue </li>
<li>option2: red</li>
<li>option3: </li>
<li>option4: green</li>
<li>option5: </li>
</ul>
То, что я хотел бы сделать, это скрыть li, если после опции: нет символов/значений.
У меня ограниченное знание с использованием запроса, и я еще не нашел пример, который поможет мне найти решение. Можно было бы при необходимости приложить значения красного, зеленого и т.д.
Можно ли это сделать с JQuery?
Что-то вроде этого будет работать:
$("ul li").each(function() {
var optionText = $(this).text().split(":")[1];
if (optionText.trim() == "")
$(this).hide();
});
Сценарий: http://jsfiddle.net/44qeG/
$('#the-list li').each(function() {
var text = $(this).text();
if (!text.match(/option\d+: .+?/g)) {
$(this).hide();
}
});
Предполагая, что ваш список имеет id="the-list"
, конечно.
Сценарий: http://jsfiddle.net/edJy4/
Образец регулярного выражения объяснил: текст содержит строку символов, которая начинается с "опции", за которой следуют одна или несколько цифр, двоеточие, пробел и один или несколько символов. Если li
не содержит такой строки, li
скрыт.
В этом случае используется регулярное выражение:
$(function(){
$('li').each(function(){
if($(this).text().search(/option\d:\s\s*$/) == 0){
$(this).hide();
}
});
});