Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Henrik Bøgelund Lavstsen 8 posts 39 karma points
    Apr 14, 2010 @ 09:04
    Henrik Bøgelund Lavstsen
    0

    table with alternate rows

    Hi there

    i have made a foreach loop in xslt that works, the thing is that i want every second <tr> to have a class name.

  • Thomas Höhler 1237 posts 1709 karma points MVP
    Apr 14, 2010 @ 09:09
    Thomas Höhler
    0

    Try something like this:

    <xsl:if test="position() mod 2 = 1">
    <xsl:attribute name="class">odd</xsl:attribute>
    </xsl:if>

    hth, Thomas

  • Kim Andersen 1447 posts 2197 karma points MVP
    Apr 14, 2010 @ 09:09
    Kim Andersen
    0

    Hi Henrik you can do it with something like this:

    <xsl:for-each select="something...">
    <tr>
    <xsl:attribute name="class">
    <xsl:choose>
    <xsl:when test="position() mod 2 = 1">altRow</xsl:when>
    <xsl:otherwise></xsl:otherwise>
    </xsl:choose>
    </xsl:attribute>
    <td>
    tralala...
    </td>
    </tr>
    </xsl:for-each>

    This is from the top of my head, so please take a minute to see if anything is wrong. But something like that should work.

    /Kim A

  • Kim Andersen 1447 posts 2197 karma points MVP
    Apr 14, 2010 @ 09:21
    Kim Andersen
    1

    By the way, you could also do this with jQuery if you prefer that.

    $("tr:has(td):even").addClass("evenRow");
    $("tr:has(td):odd").addClass("oddRow");

    This would get all of your <tr>'s that contains one or more <td>'s (which mean that a <tr> that includes your <th>'s wouldn't be selected), and give the even rows a class of evenRow, and the odd rows would get a class of oddRow.

    Just another approach.

    /Kim A

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies