• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 315
  • Last Modified:

jQuery: Add class to every other matching element

Using jQuery, how can I add a class to every other matching element?

In the example below, I want the class "even" to be added to every second <li>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function() {


<style type="text/css">
.even {
color: red;
background: yellow;


  <li>Item 1</i>
  <li>Item 2 should be red</i>
  <li>Item 3</i>
  <li>Item 4 should be red</i>
  <li>Item 5</i>
  <li>Item 6 should be red</i>
  <li>Item 7</i>
  <li>Item 8 should be red</i>



Open in new window

1 Solution
Check this page : http://jsfiddle.net/KrXMQ/1/

$(document).ready(function() {
    $("div ul li:odd").addClass("even");

Open in new window

first one index is zero (even)...
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now