Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 522
Marty Trenouth Avatar asked Dec 12 '22 18:12

Marty Trenouth


1 Answers

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>
like image 82
Stephen Avatar answered Jan 02 '23 05:01

Stephen