2014-01-06 111 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++)