这是HTML
<div id="taxonomylist">
<div class="item-list"><ul><li class="first"><a href="/?q=category/activity/energy" class="views-processed">Energy</a></li>
<li><a href="/?q=category/activity/energy/3-5" class="views-processed">3-5</a></li>
<li><a href="/?q=category/activity/energy/6-8" class="views-processed">6-8</a></li>
<li><a href="/?q=category/activity/energy/k-2" class="views-processed">K-2</a></li>
<li><a href="/?q=category/activity/forestry" class="views-processed">Forestry</a></li>
<li><a href="/?q=category/activity/forestry/3-5" class="views-processed">3-5</a></li>
<li><a href="/?q=category/activity/forestry/6-8" class="views-processed">6-8</a></li>
<li><a href="/?q=category/activity/forestry/k-2" class="views-processed">K-2</a></li>
<li><a href="/?q=category/activity/mining" class="views-processed">Mining</a></li>
<li><a href="/?q=category/activity/mining/3-5" class="views-processed">3-5</a></li>
<li><a href="/?q=category/activity/mining/6-8" class="views-processed">6-8</a></li>
<li class="last"><a href="/?q=category/activity/mining/k-2" class="views-processed">K-2</a></li>
</ul></div></div>
我需要隐藏div中的所有元素,除了那些指定的元素。我要留着那个。所以对于正则表达式解析-我需要它只显示那些值: 1.从任何东西开始2.然后有结构: structure /activity/"anything here"/"nothing here“你可以通过查看上面的代码来理解我的意思。
我的逻辑流程1.隐藏特定div中的所有li元素2.如果li中的'a‘元素包含等于/title/的href属性,则显示此li元素。我当前的代码
$('li').css('display','none');
if ($('li').attr('href')=="*/activity/*/")
{
$('li').css('display','block');
}
如果我这样做:
$('#div-id li').css('display','none');
那么它就不起作用了。我只是累了,但需要尽快完成工作。请帮帮忙。
发布于 2011-02-04 11:05:56
我想你的意思是:
if ($('li').attr('href').match(/.*\/activity\/.*\/$/m)) {
发布于 2011-02-04 11:32:23
使用James Padolsey's RegEx filter,我创建了this jsfiddle来隐藏那些与您的模式不匹配的内容。除了RegEx过滤器之外,相关的代码是
$('a:regex(href, .*/activity/.*/.*)').closest('li').hide();
编辑:我从设置display:none的.each()改为.hide();。一定很晚了,不知道我为什么要走这么远:)
编辑2:将jsfiddle从版本7更新到版本9。
发布于 2011-02-04 11:11:47
为了隐藏除这个之外的所有li,您可以使用以下代码...
$('div.div-class ul li').hide();
$(' ul li').each(function(){
if($(this).text()=="THIS")
$(this).show();
});
https://stackoverflow.com/questions/4894155
复制相似问题