2014-01-06 64 views
0

我只需要显示那些具有包含tname的跨班组团队的div。Div未显示

我有─

<div class="PERSON"> 
    <span class="name">Person_name</span> 
    <span class="title">Person_title</span> 
    <span class="team">Person_team</span> 
</div> 

我有下面的代码 -

function dispTeam(tname) 
{ 
    alert(tname); 
    var e=document.getElementsByClassName("PERSON"); 
    for(var m=0;m<e.length;m++) 
    { 
     if(e[m].document.getElementsByClassName("team")[0].innerHTML.indexOf(tname)==-1) 
     { 
      e[m].style.display="none"; 
     } 
     else 
     { 
     e[m].style.display="block"; 
     } 
    } 
} 

是越来越显示警报,但div的是没有显示出来。请帮忙。

+0

你有没有试着调试代码???并检查你是否进入'else'部分? –

+0

请把你的'PERSON'课放在这里 –

+0

如果你愿意使用它,这在jQuery中会非常容易。 – Ming

回答

0

而不是

e[m].document.getElementsByClassName(... 

你要做的:

e[m].getElementsByClassName(... 

干杯

+0

我试过了。它也给出了相同的结果。没有显示Div。只有警报被触发。 – user3164272

+0

它的工作原理。在这里你有: http://jsfiddle.net/edgarinvillegas/aBJ7V/1/ –

+0

在这里你有一个更具描述性的演示:http://jsfiddle.net/edgarinvillegas/aBJ7V/2/ –

0

长度不corret,你应该使用:

for(var m=0;m<e.childNodes.length;m++)