【问题标题】:removing items in a variable, jquery删除变量中的项目,jquery
【发布时间】:2014-01-05 23:31:24
【问题描述】:

代码如下:

var $type = $('#services, #reseller,#technology,#referral'); 
$type.click(function() {
$('#region-nav-reseller').hide();

当我点击 $type(#services、#reseller、#technology 或 #referral)时,我可以隐藏 #region-nav-reseller。

这很好用,但是如果我想在单击 $type 时排除 #technology 和 #reseller 怎么办?

我想像这样:

$type-$('#technology, #reseller').click(function() {
    $('#region-nav-reseller').hide();

但这不起作用(duh ;))

【问题讨论】:

  • 你不能把它们从变量本身中删除吗?所以var $type = $('#services,#referral');?

标签: jquery


【解决方案1】:

如果我正确理解了您的问题,那么 jQuery 的 [.not()][1] 函数应该能够为您提供帮助。试试:

$($type).not('#technology, #reseller').click(...);

您似乎对这四个 ID 的组有一个特定的目的。另一个想法是从该组中分离出可点击的内容。考虑:

var clickable = $("#technology, #reseller");
var nonClickable = $("#services, #referral");
var everything = $(clickable).and(nonClickable);

// Now you can do different things with these different sets
$(everything).whatever();
$(clickable).click(...);

【讨论】:

  • 因为人们更容易理解 :) 但是是的,它是多余的。 $type.not(...) 更快/更便宜,并且具有完全相同的效果。
【解决方案2】:
$type.click(function(ev) {
    if (this.id !== 'technology' && this.id !== 'reseller') {
        $('#region-nav-reseller').hide();
    }
});

【讨论】:

    猜你喜欢
    • 2011-11-16
    • 2020-08-01
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    相关资源
    最近更新 更多