“手风琴”中的跨度和Div标签

时间:2013-12-05 19:28:40

标签: jquery html5 css3

我有一些手风琴使用<span>进行内容切换并且可以正常工作。

Example

但我违反了HTML 5 DOM规则,该规则规定<div>不能嵌套在<span>

有什么建议吗?感谢

     <! -- TAB #1 -->
  <div class="accordion-tab">Tab #1<a class="btn blue">Edit</a></div>
    <span>
        <div class="content">
            <div class="wrap">
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque blandit aliquam malesuada. 
                </p>
             </div>
        </div>
    </span>
  </div> 
   <! -- TAB #2 -->
  <div class="accordion-tab">Tab #2<a class="btn blue">Edit</a></div>
    <span>
        <div class="content">
            <div class="wrap">
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque blandit aliquam malesuada. 
                </p>
             </div>
        </div>
    </span>
  </div> 

JS

$(document).ready(function() {

        $(".accordion-tab").click(function(e) {
        e.preventDefault();
        $(this).next('span').find('.content').not(':animated').slideToggle();
        });

    });

3 个答案:

答案 0 :(得分:3)

可以通过div

完成相同的更改范围
<div>
    <div class="content">
        <div class="wrap">

$(this).next('div').find('.content').not(':animated').slideToggle();

http://jsfiddle.net/dVbkL/4/

答案 1 :(得分:1)

我没有看到div嵌套在a内。

<div class="accordion-tab">Tab #1<a class="btn blue">Edit</a></div>

a嵌套在div内。 A-OK。

答案 2 :(得分:0)

在这种情况下你甚至需要跨度吗?尝试完全删除span标记,或者使用float将它们更改为div。