【问题标题】:Can I use :lt selector with dynamic variable? [duplicate]我可以将 :lt 选择器与动态变量一起使用吗? [复制]
【发布时间】:2014-03-11 05:03:19
【问题描述】:

在我的 MVC 项目中,我想使用 AJAX 用新条目刷新我的页面。一切都很好,但我想在显示新条目时添加一些效果。首先我使用这样的前置:

$(".mCSB_container").prepend(data.htmlContent);

那么我是这样做的吗:

$(".entry:lt(4)").hide().fadeIn(3000);

它工作正常。但是,我想用一个动态变量来做。我从我的控制器操作中返回新的条目计数并将其设置如下:

 var count = data.count;

当我想像这样使用它时:

 $(".entry:lt(count)").hide().fadeIn(3000);

Visual Studio 向我显示错误消息:Expected <integer>。我在定义计数时尝试了这个:

 var count = new Number(data.count);

但这没有任何区别。基本上我想首先选择具有给定类的N 项目,然后使用fadeIn 隐藏和显示它们。如果元素计数是动态的,我该怎么做? :lt 选择器是否可以使用,或者我可以使用其他方式吗?

【问题讨论】:

    标签: jquery asp.net-mvc jquery-selectors


    【解决方案1】:

    字符串连接就是你要找的

    $(".entry:lt(" + count + ")").hide().fadeIn(3000);
    

    但更快的替代方法是使用.slice()

    $(".entry").slice(0, count).hide().fadeIn(3000);
    

    【讨论】:

    • 真的那么简单吗? :p 感谢您的回答和建议。我会尽快接受您的回答。
    • @Selman22:选择器只是字符串。 jQuery 不在乎字符串是如何创建的 :)
    • @FelixKling 是的,我注意到了。我真的是 jQuery 的菜鸟 :) 那真的很简单。
    【解决方案2】:

    你用选择器连接变量的方式是错误的。

    试试,

    $(".entry:lt(" + count + ")").hide().fadeIn(3000);
    

    【讨论】:

      【解决方案3】:

      您可以使用+ 将您的选择器与变量连接起来:

      $(".entry:lt(" + count + ")").hide().fadeIn(3000);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-26
        • 1970-01-01
        • 2011-03-18
        • 2011-12-06
        • 2012-04-25
        • 2016-09-06
        • 2012-09-17
        相关资源
        最近更新 更多