2012-07-26 3 views
0

자식 요소의 수로 컨테이너 요소의 클래스를 추가하고 싶습니다. 하지만 내 코드 광고는 첫 번째 컨테이너에 대한 클래스이고 잘못 추가되었습니다. 컨테이너가 하나의 아이를 가지고 있지만 그것이 작동하지 않을 때 나는 경우이 코드를 작성Mootools가 자식 수로 컨테이너에 클래스를 추가합니다.

<ul> 
<li> 
    <div id="container" class="add class here for example col3"> 
    <div class="child"></div> 
    <div class="child"></div> 
    <div class="child"></div> 
    </div> 
</li> 
<li> 
    <div id="container" class="add class here for example col1"> 
    <div class="child"></div> 
    </div> 
</li> 
</ul> 

:

내가 뭘하려는 것입니다. 3 자녀 :(

window.addEvent('domready', function() { 
    var children = $('container').getChildren('div.child'); 
    if(children.length = 1) { 
     $('container').set('class', 'col1'); 
    } 
}); 

그래서 내가 여기에 붙어있어.

+0

마크 업이 유효하지 않습니다. ID는 문서 전체에서 고유해야합니다. – jbabey

답변

0

귀하의 문제는 당신이 동일한 ID를 할당하고 있다는 사실이다가있는 첫 번째 컨테이너에 이 광고 내 COL1 클래스의 모든 . 용기 같은 것을보십시오 :

window.addEvent("domready", function(){ 
    $$("div.container").each(function(item, i){ 
     var childCount = item.getChildren("div.child").length; 
     item.addClass("col" + childCount); 
    });​​​​​​​​ 
}); 

HTML :

<ul> 
<li> 
    <div class="container"> 
    <div class="child"></div> 
    <div class="child"></div> 
    <div class="child"></div> 
    </div> 
</li> 
<li> 
    <div class="container"> 
    <div class="child"></div> 
    </div> 
</li> 
</ul>​ 

참조 여기에서 작업 중입니다. http://jsfiddle.net/kSVL5/

+0

고마워, 아마 피곤해 졌어, 내가 믿을 수 없어. 나는 여러 ID에 동일한 ID를 추가했다는 것을 놓쳤다. 오, 그리고 당신은 내부 함수에 추가 닫기를 추가했습니다. –

+0

이 작동하지 않습니다. 프레임의 소스에서 어떤 클래스도 볼 수 없습니다. –

+0

@ YannisDran 저에게 잘 작동합니다. 콘솔을 열어 실제로 볼 수있는 것은 아무것도하지 않습니다. – dom

관련 문제