2012-01-07 8 views
0

각 에디터 상자에 char이있는 컨텐츠 관리 시스템에이를 추가해야합니다. 제한이 4000입니다. 모든 콘텐츠 div를 안에 넣을 수는 없으므로 각 탭 콘텐츠 div를 별도의 편집기 상자에 넣어야합니다. 그래서 wrapper div를 제거해야합니다.래퍼/컨테이너 div가없는 jQuery 탭

$(function() { 
    var tabContainers = $('div.tabs > div'); 

    $('div.tabs ul.nav a').click(function() { 
    tabContainers.hide().filter(this.hash).show(); 

    $('div.tabs ul.nav a').removeClass('selected'); 
    $(this).addClass('selected'); 

    return false; 
    }).filter(':first').click(); 
}); 

내 생각은 각 공통 클래스 "시리즈 1"을 추가했다 :

<div class="tabs"> 
    <ul class="nav"> 
    <li><a href="#t1">one</a></li> 
    <li><a href="#t2">two</a></li> 
    <li><a href="#t3">three</a></li> 
    </ul> 

    <div id="t1">a lot of content</div> 
    <div id="t2">a lot of content</div> 
    <div id="t3">a lot of content</div> 
</div> 

jQuery 코드 :

나는 래퍼 DIV "탭"다음과 같은 탭 스크립트가 동일한 효과를 보관하기 위해 내 콘텐츠를 삭제하지만 작동하지 않습니다. (jquery noob)

<ul class="nav"> 
    <li><a href="#t1">one</a></li> 
    <li><a href="#t2">two</a></li> 
    <li><a href="#t3">three</a></li> 
    </ul> 

    <div id="t1" class="series1">content</div> 
    <div id="t2" class="series1">content</div> 
    <div id="t3" class="series1">content</div> 
,363,210
$(function() { 
    var tabContainers = $('div.series1'); 

    $('ul.nav a').click(function() { 
    tabContainers.hide().filter(this.hash).show(); 

    $('ul.nav a').removeClass('selected'); 
    $(this).addClass('selected'); 

    return false; 
    }).filter(':first').click(); 
}); 
내가 수동으로 jQuery를에 개별 ID/클래스의 이름을 언급해야하는 경우 그것은 중요하지 않습니다

, 누군가가이 일을하는 데 도움이 수 있을까?

감사합니다.

+0

'ul'에서'div'를 사용하면 어떤 문제가 있습니까? –

+0

콘텐츠 관리 시스템에이 코드를 추가하고 각 편집기 상자에는 char이 있습니다. 제한은 4000입니다. 내 콘텐츠를 모두 수용 할 수 없습니다. 그래서 각 탭 콘텐츠 div를 별도의 편집기 상자에 넣어야합니다. – user666923

답변

3

이러한 유형의 기능은 .tabs()이없는 jQuery에서 구현하기가 쉽습니다. 몇 가지 아이디어를 보려면 this fiddle을 살펴보십시오.

+0

감사합니다. Tom! 한 페이지에 두 세트 이상의 탭이있는 경우 어떻게 수정합니까? 시간 내 주셔서 다시 한 번 감사드립니다! – user666923

+0

확실히 간단한 방법이 있지만 [이 예제에서는] (http://jsfiddle.net/dafastestfingers/WUt9Z/4/) 나는 올바른 요소에 대해 true를 반환하는'.filter()'를 사용했다. '.show'를 제거하십시오. –