jquery - 减少 jquery 选择器的重复使用

标签 jquery

我正在学习 jquery,我发现我一直在写这样的东西:

if ($("#Menu").zIndex()<200) {
    $("#Menu").zIndex(250)
    return;
}
else
{
    $("#Menu").zIndex(100)
    return;
}

我认为一定有一种方法可以不必重复 $("#Menu") 类型选择器太多。我发现我可以将 $("#Menu") 分配给一个变量,然后使用它,但会破坏掉漂亮的“.zIndex”方法。或者我可以用函数做一些事情。

针对这种情况的最佳做法是什么?

最佳答案

表明您将使用 jQuery 元素或 DOM 中的某些内容的一个很好的指示是在变量前加上 $。这样,您就知道您正在操作一些 HTML 元素,而不是一些仅 javascript 运行所需的标准 var 元素。

因此,您可以使用任何您想要的 var 名称。我只是决定使用 $m 来展示它比 $menu$("#menu") 更容易编写p>

编辑:将其缓存到变量中的另一个好处是您的jQuery不必清理整个文档 每次调用它时。 感谢@AdamMerrifield 的标注

因此,类似的事情是典型的做法。

var $m = $('#menu');

if($m.zIndex() < 200) {
    $m.zIndex(250);
    return;
} else {
    $m.zIndex(100);
    return;
}

此外,您甚至可以使用三元运算符进一步缩短代码。

Learn More With Interactive Lesson

复制自@Hardy的回复:

var $m = $('#menu');
var new_z = $m.zIndex() < 200 ? 250 : 100; 
$m.zIndex(new_z);

关于jquery - 减少 jquery 选择器的重复使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21357754/

相关文章:

javascript - 如何通过单击从单个元素中添加和删除类......

javascript - 调用 jQuery html 方法时出错

javascript - Jquery 根据值添加元素

php - 带有鼠标悬停问题的 Jquery 滑动框

jquery - 如何更改滑动动画以在 Bootstrap 3 Carousel 中使用过渡淡入/淡出

javascript - 电子邮件验证/删除类

javascript - 使用逗号与分号连接多个语句

javascript - 如何在html和javascript中显示隐藏不确定的圆形进度条

javascript - 在输入框中输入时搜索

javascript - 通过复选框在多个元素上使用 `this` 更改占位符