javascript - 在转发器控件中设置子标记属性

标签 javascript css repeater onmouseover onmouseout

我有一个转发器控件来显示用户评论。评论保存在一个 div 标签中,在该 div 标签内,还有其他标签。我为父标签分配了一个悬停属性,使子 div 标签在鼠标悬停时可见。当我运行代码时,悬停属性仅适用于转发器中的第一条评论。如果鼠标悬停在其他评论上,悬停属性将再次对第一个评论起作用。这是我的 html 代码 `

        <ItemTemplate>

        <div id="divComnt" class="Dcomment span9" onmouseover="MouseOver_Comment()" onmouseout="MouseOut_Comment()">  
               <div class="date" >Posted at <%#Eval("DateAdded")%></div>
               <br/>
               <p><%# Eval("Comment") %> </p>
               <br/>
                <%--reply buttons--%>
                <div id="Div_replyLinks" class="bottom pull-left replyLink" style="margin:3px 1px 3px 1px">

                <a href="#" title="Katılıyorum"><i class=" icon-thumbs-up"></i> </a>
                <a href="#" title="Katılmıyorum"><i class=" icon-thumbs-down"></i> </a>
                <a href="#" title="Bence..."><i class="icon-comment"></i> </a>

              </div>
            </div>
            </ItemTemplate>

            </asp:Repeater>`

这是javascript

function MouseOut_Comment() {
        var div = document.getElementById("Div_replyLinks");
        div.style.visibility = 'hidden';
    }
    function MouseOver_Comment() {

        var div = document.getElementById("Div_replyLinks").;
        div.style.visibility = 'visible';
    }

这里是 link用于视觉辅助。(不幸的是,由于缺乏声誉,我无法上传图像) 正如您在图片中看到的,事件评论 div 是第二个,但回复按钮图标在第一个可见。

最佳答案

好的,我找到了解决问题的方法。我使用 <%#Container.ItemIndex%> 作为我想更改其可见性属性的 div 的 id 值。然后发送 <%#Container.ItemIndex%> 作为 java 函数的参数

这是代码

<asp:Repeater ID="RptComments" runat="server"  >   

        <ItemTemplate>

        <div id="DivComnt" class="Dcomment span9" onmouseover="MouseOver_Comment('<%#Container.ItemIndex%>')" onmouseout="MouseOut_Comment('<%#Container.ItemIndex%>')">  
               <div class="date" >Posted at <%#Eval("DateAdded")%></div>
               <br />
               <p style="margin:2px 5px 2px 5px"><%# Eval("Comment") %> </p>
               <br />
               <%--reply buttons--%>
               <div id="<%#Container.ItemIndex%>" class="bottom pull-right replyLink" style="margin:3px 1px 3px 1px">
                <a href="#" title="Katılıyorum"><i class=" icon-thumbs-up"></i></a>
                <a href="#" title="Katılmıyorum"><i class=" icon-thumbs-down"></i></a>
                <a href="#" title="Bence..."><i class="icon-comment"></i></a>
              </div>
            </div>
            </ItemTemplate>
            </asp:Repeater>

这是java代码:

function MouseOver_Comment(id) {
        var div = document.getElementById(id);
        div.style.visibility = 'visible';               
    }
    function MouseOut_Comment(id) {
        var div = document.getElementById(id);
        div.style.visibility = 'hidden';
    }

关于javascript - 在转发器控件中设置子标记属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18556296/

相关文章:

css - 垂直对齐列表 (CSS)

html - 拉伸(stretch)固定到底部父 div 到 div child 的宽度

php - 使用 PHP 将 Basename 应用于 CSS 类,但索引页面出错

c# - 通过 clientID 获取控制权

javascript - 按键事件在 Mozilla Firefox 中不起作用

javascript - 关于开始node.js的一些问题

c# - 如何使用嵌套中继器获取代码后面的页脚项值?

c# - 转发器中的寻呼

JavaScript Div 扩展

javascript - this.state.map 不是 React Native 中的函数