检查jQuery

时间:2017-07-25 16:22:20

标签: jquery

您好我正在使用waypoints.js,当我不在其定位的页面上时它会中断。

要解决这个问题,我必须检查网页上是否存在该元素,然后再运行这样的航点功能:

if (jQuery(".section-2-box").length) {
   //my code             
}

if (jQuery(".section-3-box").length) {
   //my code             
}

if (jQuery(".section-4-box").length) {
   //my code             
}

它有效,但问题是我需要检查很多元素。我不想写出20条if语句。

是否可以只使用一个if语句来执行某些类型的逻辑,例如if all of these elements exist then run some code

1 个答案:

答案 0 :(得分:1)

如果您知道,每个类只有一个元素,那么标准组选择器就可以执行此操作:

if (jQuery(".section-2-box, .section-3-box, .section-4-box").length === 3)

如果没有(可能有两个section-2-box s而没有section-3-box),您可能需要在其中抛出特定于jQuery的:first

if (jQuery(".section-2-box:first, .section-3-box:first, .section-4-box:first").length === 3)

示例:

if (jQuery(".section-2-box:first, .section-3-box:first, .section-4-box:first").length === 3) {
  console.log("Yes");
} else {
  console.log("No");
}
<div>We should see "no" because there is no .section-3-box</div>
<div class="section-2-box"></div>
<div class="section-2-box"></div>
<div class="section-4-box"></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>