Edit This Code:
See Result »
<!DOCTYPE html> <html> <head> <style> .siblings * { display: block; border: 2px solid lightgrey; color: lightgrey; padding: 5px; margin: 15px; } </style> <script src="https://ajax.googleapis.bootcss.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(document).ready(function(){ var DOM = document.getElementsByClassName("li.stop"); $("li.start").prevUntil(DOM).css({"color": "red", "border": "2px solid red"}); }); </script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "//hm.baidu.com/hm.js?73c27e26f610eb3c9f3feb0c75b03925"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </head> <body> <div style="width:500px;" class="siblings"> <ul>ul (parent) <li class="stop">li (sibling with class name "stop")</li> <li>li (the previous sibling of li with class name "start")</li> <li>li (the previous sibling of li with class name "start")</li> <li>li (the previous sibling of li with class name "start")</li> <li class="start">li (sibling with class name "start")</li> <li>li (sibling)</li> <li>li (sibling)</li> </ul> </div> <p>In this example, we use the DOM method getElementsByClassName() to return all previous sibling elements between the li element with class name "start" and the li element with class name "stop".</p> </body> </html>
Result: