title: Adding class to parent child grandchild list items using javascript/Jquery
body: <p>I am trying to add class to nested list items dynamically, even if the count of child and grandchild items change.</p>
  
  <p><strong>A sample nested items would look like this:</strong></p>
  
  <ul>
  <li><strong>parent:</strong> list1
  
  <ul>
  <li><strong>child:</strong> list11
  
  <ul>
  <li><strong>grandchild:</strong> list111</li>
  <li><strong>grandchild:</strong> list1112</li>
  </ul></li>
  <li><strong>child:</strong> list12   
  
  <ul>
  <li><strong>grandchild:</strong> list121</li>
  <li><strong>grandchild:</strong> list122</li>
  </ul></li>
  </ul></li>
  </ul>
  
  <p>The issue is, if I add class using <code>ul li ul</code>, it applies to all child and grandchild items. Is there any way to add class separately to child, grandchild, great grandchild, and so on?</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>$('ul li ul a').addClass('child')</code></pre>
  <pre class="snippet-code-css lang-css prettyprint-override"><code>ul li a {
    color:red
  }
  
  .child {
    color:green;
  }
  
  a {
    text-decoration:none;
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;
  
  &lt;div&gt;Parent1
    &lt;ul&gt; 
      &lt;li&gt;&lt;a href="#"&gt;Grandparent&lt;/a&gt;
        &lt;div&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;a href="#"&gt;Child&lt;/a&gt; 
              &lt;div&gt;
                &lt;ul&gt;
                  &lt;li&gt; &lt;a href="#"&gt;Child1&lt;/a&gt; 
                    &lt;ul&gt;&lt;li&gt;&lt;a href="#"&gt; Grandchild11&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
                  &lt;/li&gt;
                  
                  &lt;li&gt; &lt;a href="#"&gt;Child2&lt;/a&gt;
                    &lt;ul&gt;&lt;li&gt;&lt;a href="#"&gt;GrandChild21&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#"&gt;grandchild22&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
                  &lt;/li&gt;
                &lt;/ul&gt;
              &lt;/div&gt; 
            &lt;/li&gt;
            
            &lt;li&gt;
              &lt;a href="#"&gt; Child2 &lt;/a&gt;
              &lt;ul&gt;&lt;li&gt;&lt;a href="#"&gt;GrandChild21&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#"&gt;grandchild22&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;/div&gt; 
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt; &lt;!-- Parent1 --&gt;
  
  &lt;div&gt;Parent2
    &lt;ul&gt; 
      &lt;li&gt;
        &lt;a href="#"&gt;Grandparent&lt;/a&gt;
        &lt;div&gt;
          &lt;ul&gt;
            &lt;li&gt;
              &lt;a href="#"&gt;Child&lt;/a&gt; 
              &lt;div&gt;
                &lt;ul&gt;
                  &lt;li&gt;
                    &lt;a href="#"&gt;Child1&lt;/a&gt; 
                    &lt;ul&gt;&lt;li&gt;&lt;a href="#"&gt; Grandchild11&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
                  &lt;/li&gt;
                  
                  &lt;li&gt;
                    &lt;a href="#"&gt;Child2&lt;/a&gt;
                    &lt;ul&gt;&lt;li&gt;&lt;a href="#"&gt;GrandChild21&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#"&gt;grandchild22&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
                  &lt;/li&gt;
                &lt;/ul&gt;
              &lt;/div&gt; 
            &lt;/li&gt;
            
            &lt;li&gt;
              &lt;a href="#"&gt; Child2 &lt;/a&gt;
              &lt;ul&gt;&lt;li&gt;&lt;a href="#"&gt;GrandChild21&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="#"&gt;grandchild22&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
            &lt;/li&gt;
          &lt;/ul&gt;
        &lt;/div&gt; 
      &lt;/li&gt;
    &lt;/ul&gt;
  &lt;/div&gt; &lt;!-- Parent2 --&gt;</code></pre>
  </div>
  </div>
  </p>