Marty Trenouth
Marty Trenouth

Reputation: 3752

jQuery UI Accordion on ul

How do I get the jQuery UI Accordion to work when I need to put a wrapper around each element?

Example HTML:

<ul>
  <li>
     <h3><a href="#">header</a></h3>
     <div>
         Content goes here
     </div>
  </li>
  <li>
     <h3><a href="#">header</a></h3>
     <div>
         Content goes here
     </div>
  </li>
</ul>

I just can't seem to get it to work.

Upvotes: 4

Views: 14107

Answers (1)

Stephen
Stephen

Reputation: 18964

You cannot make the accordion work with your current markup. Elements must be siblings like this:

<div id="parentAccordionDiv">
    <h3><a href="#">header</a></h3>
    <div>
        Content goes here
    </div>
    <h3><a href="#">header</a></h3>
    <div>
        Content goes here
    </div>
</div>

I stand corrected. I got an accordion to work fine like this:

<script type="text/javascript">
    $(function(){
        $('#accordion').accordion();
    })
</script>
<ul id="accordion">
  <li>
     <h3><a href="#">header</a></h3>
     <div>
         Content goes here
     </div>
  </li>
  <li>
     <h3><a href="#">header</a></h3>
     <div>
         Content goes here
     </div>
  </li>
</ul>

Upvotes: 13

Related Questions