循环访问父div并使用匹配隐藏子类

时间:2014-05-02 01:32:20

标签: jquery css

我想遍历pageHeadings中的每个div,如果子div的类匹配“menu_”,我想隐藏它。我到底错过了什么?

<div id="pageHeadings">
    <div class="menu_practice">
        <p>test</p>
        <p>test2</p>
    </div>
    <div class="menu_about">
        <p>test</p>
        <p>test2</p>
    </div>

$("#pageHeadings div").each(function (index, val) {
    if($(this).attr('class').match("menu_")) {
        $(this).hide();
    }
});

获得:Uncaught TypeError: Cannot read property 'match' of undefined

console.log($(this).attr('class'));给出:

col-md-1 col-md-offset-2 
undefined 
col-md-1 
undefined 
menu_practice 
col-md-1 
undefined 
menu_about 
col-md-1 
undefined 
menu_contact 

所以我认为它发现它们还可以。

1 个答案:

答案 0 :(得分:1)

您可以使用[class^=menu_],它会找到类别以menu_开头的元素。

Example Here

$("#pageHeadings div[class^=menu_]").hide();

或者,您也可以使用$(this).is('[class^=menu_]')

Example Here

$("#pageHeadings div").each(function (index, val) {
    if($(this).is('[class^=menu_]')) {
        $(this).hide();
    }
});