0

I am trying to do something that I think should be simple enough to accomplish, but it's not seeming to work out for me.

I just want to run through the list of thumbnails on our site's alt images, and then if it has a child link with the class video-thumbnail, remove it and add to the end of the list. The reason I am going about it this way is because it is for an A/B test, so I have to modify the page without redoing how it feeds in data to prove it is the correct move before actually making the change on the site. Some products have 2 videos to accomodate a "curvy fit" video as well and some dont have videos otherwise i could just move the first list item to the end. HTML

<ul class="product-image-thumbs">
<li>
    <a href="#" class="video-thumbnail"  data-video="#">
        <img src="#" alt="Product Video">
    </a>
</li>
<li>
    <a href="#" class="video-thumbnail"  data-video="#">
        <img src="#" alt="Product Video">
    </a>
</li>
<li>
    <a class="thumb-link" href="#">
        <img src="#" >
    </a>
</li>
<li>
    <a class="thumb-link" href="#">
        <img src="#" >
    </a>
</li>
<li>
    <a class="thumb-link" href="#">
        <img src="#" >
    </a>
</li>
<li>
    <a class="thumb-link" href="#">
        <img src="#" >
    </a>
</li>
<li>
    <a class="thumb-link" href="#">
        <img src="#" >
    </a>
</li>

</ul>

jQuery

$('.product-image-thumbs li').each(function() {
    if ($("a").hasClass("video-thumbnail")) {
        ('li').appendTo('ul.product-image-thumbs');
    });
});

Any suggestions on how I could make this work for me? I appreciate any help!

1 Answers1

2

Use $(this).find("a") to find the link of the li we are looping through

This line $('ul.product-image-thumbs').find($(this)).appendTo('ul.product-image-thumbs'); moves the li to the end if it match the if statement

Hope this helps you

$('.product-image-thumbs li').each(function() {
  if ($(this).find("a").hasClass("video-thumbnail")) {
    $('ul.product-image-thumbs').find($(this)).appendTo('ul.product-image-thumbs');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="product-image-thumbs">
  <li>
    <a href="#" class="video-thumbnail" data-video="#">
      <img src="#" alt="Product Video">
    </a>
  </li>
  <li>
    <a href="#" class="video-thumbnail" data-video="#">
      <img src="#" alt="Product Video">
    </a>
  </li>
  <li>
    <a class="thumb-link" href="#">
      <img src="#">
    </a>
  </li>
  <li>
    <a class="thumb-link" href="#">
      <img src="#">
    </a>
  </li>
  <li>
    <a class="thumb-link" href="#">
      <img src="#">
    </a>
  </li>
  <li>
    <a class="thumb-link" href="#">
      <img src="#">
    </a>
  </li>
  <li>
    <a class="thumb-link" href="#">
      <img src="#">
    </a>
  </li>

</ul>
Carsten Løvbo Andersen
  • 22,170
  • 9
  • 42
  • 67