日期:2014-05-16  浏览次数:20490 次

js获取repeater的行数
我有一个repeater
其中每行都有2个div a和b 
现在要在前台实现点击a或者b可以互相交替显示。比如点击div a 显示div b 点击div b显示div a这样交替。(只有一个div显示。另一个不显示或者说隐藏掉)

问题来了
创建repeater时候,用奇偶行模板,每行的div a 和div b都是相同的id。
如:

<asp:Repeater ID="rp" runat="server">
        <HeaderTemplate >
        <table>        
        <tr>
        <td >11</td>
        </tr>
        </HeaderTemplate>
        <ItemTemplate>
        <tr>
        <td><div id="a" onclick ="viewdivb()">内容</div> <div id="b" onclick ="viewdivb()">内容</div></td>
        </tr>
        </ItemTemplate> 
        <AlternatingItemTemplate>
        <tr>
        <td><div id="a" onclick ="viewdivb()">内容</div> <div id="b" onclick ="viewdivb()">内容</div></td>
        </tr> 
        </AlternatingItemTemplate>
        <FooterTemplate>                
        </table>
        </FooterTemplate>
        </asp:Repeater>



但是实际效果是,无论点击哪一行,都只在第一行显示交替。而不是所在行。比如点击第2行中的div,却在第一行的diva和b之间交替。点击低3行也是。。。第n行也是。。永远都在第一行。
不知道如何用js实现判断我点击的是哪个行中的div,在所在行进行交替。
用了比较多的方法。比如判断div 的状态。但是都是失败了。
请教

------解决方案--------------------
id全部换为name="a"或"b"
$(function(){