【问题标题】:jquery script executing but not setting css for .showjquery脚本执行但没有为.show设置css
【发布时间】:2009-04-20 18:28:26
【问题描述】:

我的 jquery 代码被 asp.net mvc 页面上的可重复部分视图重用,但脚本没有按我预期的那样执行。

场景并没有那么复杂,我有一个包含多个评论的页面,并且允许登录的用户通过竖起大拇指/大拇指向下按钮“投赞成票”或“投反对票”(类似于 digg)。

我将每个场景的文本呈现在 <span> 中,其中 id='spanname-'+reviewId 因此每个评论的评级都是唯一可识别的(因为它们是可重复的,因为页面上存在多个评论,每个评论具有相同的功能)所以例如如果我想要求用户当前未登录,我有以下 html

<span id="login-<%=Model.EntityId%>" style="margin: 0 5px 0 5px;display:none;">
        Why not <a href="#">login</a> and rate this? 
</span>

并适当设置一个initialise()方法

var isAuthenticated = <%=Request.IsAuthenticated.ToString().ToLower() %>;
function initialise()
   {
        if (isAuthenticated)
           {//hide login spans, unhide other spans}
       else
           {
               //alert('user not logged in')
               $('rate-<%=Model.EntityId%>').hide();
               $('login-<%=((GigItModel)Model).EntityId%>').show();
               //alert($('login-<%=((GigItModel)Model).EntityId%>'));
           }
    }
    $().ready(function()
       {
        initialise();
       });

我已经设置了警报按钮来测试它是否检测到登录用户与未登录用户,并且它正在引用对象,但由于某种原因,页面没有呈现 CSS 属性并且显示 NONE &lt;span&gt; 的(或者如果我删除了 style 属性中的 display:none 则全部)

谁能提供关于为什么 jquery 没有按预期执行的见解? 提前致谢。

【问题讨论】:

    标签: jquery asp.net-mvc css


    【解决方案1】:

    您忘记在您的 ID 前使用 #

    $('#rate-<%=Model.EntityId%>').hide();
    $('#login-<%=((GigItModel)Model).EntityId%>').show();
    

    【讨论】:

    • O snap,就这么简单吗?我真的需要复习我的 jquery 基础知识。非常感谢!
    【解决方案2】:

    一个建议——不要使用 javascript 来隐藏该功能。使用 ASP 代码编写允许投票的 HTML 和基于该用户登录的登录框。您不应该将该逻辑留给客户端脚本,如果有人禁用了 javascript 会发生什么?

    但是,要解决您的问题,您需要在代码前加上 # 以通过 ID 解决问题:

    $('#rate-<%=Model.EntityId%>').hide();
    $('#login-<%=((GigItModel)Model).EntityId%>').show();
    

    【讨论】:

      【解决方案3】:

      要通过 id 选择 DOM 元素,请使用 #id_of_element:

      $('#rate-<%=Model.EntityId%>').hide();
      $('#login-<%=((GigItModel)Model).EntityId%>').show();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-09
        • 2011-01-21
        • 2023-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-06
        • 2011-10-02
        相关资源
        最近更新 更多