1

My coding wordpress loop menu. Is possible replace JQ?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- 1st Loop -->
<li class="dropdown">
    <a data-toggle='dropdown' class='dropdown-toggle'  href='javascript:void(0);' >First Pages</a>
    <!-- Should be
    <a data-toggle="collapse" data-parent="#sidebar-nav" href="#collapse-firstpage">First Page</a>
    -->
    <ul class="dropdown-menu">
    <!-- Should be
    <ul id="collapse-firstpage" class="collapse">
    -->
        <li><a href="new-page-1">New Page 1</a></li>
        <li><a href="new-page-2">New Page 2</a></li>
    </ul>
</li>
<!-- End 1st Loop -->

on href record the title (First Page to firstpage), insert [#collapse-] before and on ul id same like href but without [#].

Cœur
  • 37,241
  • 25
  • 195
  • 267
Krisna Wan
  • 13
  • 5

1 Answers1

0

Use each loop

jQuery(document).ready(function($){
$('.dropdown').each(function(){
var  $val = $(this).children('a').html();
var $page_name = $val.toLowerCase().replace(/[^a-z0-9\s]/gi, '').split(' ').join('');
$(this).children('a').replaceWith(' <a data-toggle="collapse" data-parent="#sidebar-nav" href="#collapse-'+$page_name+'">'+$val+'</a>');
$('.collapse', this).attr('id','collapse-'+$page_name);
})
 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- 1st Loop -->
<li class="dropdown">
    <a data-toggle='dropdown' class='dropdown-toggle'  href='javascript:void(0);' >First Pages</a>
    <!-- Should be
    <a data-toggle="collapse" data-parent="#sidebar-nav" href="#collapse-firstpage">First Page</a>
    -->
    <ul class="collapse">
    <!-- Should be
    <ul id="collapse-firstpage" class="collapse">
    -->
        <li><a href="new-page-1">New Page 1</a></li>
        <li><a href="new-page-2">New Page 2</a></li>
    </ul>
</li>
<!-- End 1st Loop -->

jQuery

  jQuery(document).ready(function($){
$('.dropdown').each(function(){
var  $val = $(this).children('a').html();
var $page_name = $val.toLowerCase().replace(/[^a-z0-9\s]/gi, '').split(' ').join('');
$(this).children('a').replaceWith(' <a data-toggle="collapse" data-parent="#sidebar-nav" href="#collapse-'+$page_name+'">'+$val+'</a>');
$('.collapse', this).attr('id','collapse-'+$page_name);
})
 });
Suresh Suthar
  • 794
  • 8
  • 15
  • and you need like
  • Test
  • , am i right? – Suresh Suthar Apr 15 '17 at 06:26
  • can you please check in my code $('.collapse', this).attr('id','#collapse-'+$page_name);, this code work is – Suresh Suthar Apr 15 '17 at 06:41
  • sorry please provide proper url of your site – Suresh Suthar Apr 15 '17 at 07:11
  • Suresh Suthar your Anwers is correct, Great, thank alot – Krisna Wan Apr 15 '17 at 08:33
  • I am Newbie on stackovr, click up arrow? where i can do? – Krisna Wan Apr 15 '17 at 09:11
  • https://nimbus.everhelper.me/client/notes/share/866997/g27re6tnqps9kuq912q9 – Suresh Suthar Apr 15 '17 at 09:15
  • i need up reputation,i was click but back to 0, https://meta.stackexchange.com/questions/173399/how-to-upvote-on-stack-overflow – Krisna Wan Apr 15 '17 at 09:19