由Child Div过滤不起作用

时间:2013-07-19 15:25:26

标签: javascript jquery

我试图通过查看子元素的id来过滤div元素,但是我似乎无法使其工作并且无法找到原因。

html:

<div class="section-link" id="section-tooltip">
    <div class="brand tp" style="display: none;"></div>
    contents
</div>

<div class="section-link" id="section-tooltip">
    <div class="brand garden" style="display: none;"></div>
    contents
</div>

js:

function brand(string){
    var brand = string;
    $('.section-link').hide();
    if ($(".section-link").children('.brand').hasClass(brand)) {
        $(this).parent().show();
    }
}

然后我通过chrome浏览器执行以下操作:javascript:brand(“tp”);

它隐藏了所有div,但它没有显示内部带有tp元素的div

2 个答案:

答案 0 :(得分:2)

$(“this”)错了。

$(this) //this is right

编辑。另一个: 它不是

.hasclass()

.hasClass()

答案 1 :(得分:2)

这段代码:

if ($(".section-link").children('.brand').hasClass(brand)) {
   $("this").parent().show();
}

应改为:

$(".section-link").children('.brand').each(function(){
   if($(this).find(brand).length > 0){

      $(this).find(brand)[0].parent().show(); //assuming onlt the first 'tp's parent needs to be shown
   }
});

PS:这不需要附上引号