如果此子项包含文本,则显示元素html

时间:2017-04-05 13:28:25

标签: jquery html

这是我的html的一部分:

<div class="rigaEven">
                <div class="col1">
                    <p class="stage">ROOM B</p>
                    <p class="where">Street</p>
                </div>
                <div class="col2 half">
                    <p class="when">09:00 - 11:00</p>
                </div>
                <div class="col3">
                     <p class="what">EVENT</p>
                     <p class="type">event</p>
                     <p class="who">PIER LUIGI GAROTTI</p>
                </div>
            </div>
<div class="rigaOdd">
              <div class="col1">
                    <p class="stage">ROOM C</p>
                    <p class="where">Street</p>
                </div>
                <div class="col2 half">
                    <p class="when">09:00 - 11:00</p>
                </div>
                <div class="col3">
                     <p class="what">MEETING</p>
                     <p class="type">event</p>
                     <p class="who">FRANCESCA GUARINO</p>
                </div>
            </div>

如果此子级col3包含特定文本,我想使用类rigaEven或rigaOdd隐藏div。 我实现了这个方法但不起作用:

function(filter){
    if($( \".col3:contains("+filter+")\" )){ 
        $(\".rigaEven\").show();
    }
    if($( \".col3:contains("+filter+")\" )){ 
        $(\".rigaOdd\").show();
    }
}

1 个答案:

答案 0 :(得分:0)

首先,您的函数没有名称,因此您无法在任何地方调用它:

function myFilter(filter){};
//or 
var myFilter = function(filter){};

其次,对于您的示例(在您的代码中,if条件对于两种情况都是相同的,因此它不起作用):

function myFilter(filter){
  //you need to check what value filter has
  if($(".col3:contains("+filter+")" ) && (filter === "john")){ 
    $(".rigaEven").show();
  } 
  if(!$( ".col3:contains("+filter+")" ) && (filter === "paul")){ 
    $(".rigaOdd").show();
  }
}