Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查所选/单击的元素是否为“的倍数”;";使用jQuery?_Javascript_Jquery_Html_Css Selectors_Jquery Selectors - Fatal编程技术网

Javascript 如何检查所选/单击的元素是否为“的倍数”;";使用jQuery?

Javascript 如何检查所选/单击的元素是否为“的倍数”;";使用jQuery?,javascript,jquery,html,css-selectors,jquery-selectors,Javascript,Jquery,Html,Css Selectors,Jquery Selectors,我在ul中有'n'li元素。我只想在选择/单击的li是“n”的倍数(设为3)时提醒消息 在下面的示例中,仅当我单击第3、第6和第9个li元素时,才必须显示警报: <ul> <li>list item 1</li> <li>list item 2</li> <li>list item 3</li> <li>list item 4</li> <li>list i

我在
ul
中有'n'
li
元素。我只想在选择/单击的
li
是“n”的倍数(设为3)时提醒消息

在下面的示例中,仅当我单击第3、第6和第9个
li
元素时,才必须显示警报:

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li>list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
  <li>list item 6</li>
  <li>list item 7</li>
  <li>list item 8</li>
  <li>list item 9</li>
</ul>
  • 清单项目1
  • 清单项目2
  • 清单项目3
  • 清单项目4
  • 清单项目5
  • 清单项目6
  • 清单项目7
  • 清单项目8
  • 清单项目9

您可以使用模
%
进行此操作,并借助
索引()
来获取clickd
li
的索引

我们应该添加
1
,因为索引是基于零的:

if (($(this).index() + 1) % n == 0) {
    //Your logique here
}
片段:

var n=$('ul>li')。长度;
$('li')。单击(函数(){
var currentIndex=$(this.index();
如果((当前索引+1)%n==0)
{
console.log('Alert here')
}
})

  • 清单项目1
  • 清单项目2
  • 清单项目3
  • 清单项目4
  • 清单项目5
  • 清单项目6
  • 清单项目7
  • 清单项目8
  • 清单项目9
您可以尝试使用以下方法:

var number = 3;
$("ul li").click(function(){
  var i = $(this).index() + 1
  if(i % number == 0) {
    console.log("You clicked on either element 3,6 or 9")
  }
})
演示

var数=3;
$(“ul li”)。单击(函数(){
变量i=$(this.index()+1
如果(i%number==0){
log(“您单击了元素3、6或9”)
}
})

  • 清单项目1
  • 清单项目2
  • 清单项目3
  • 清单项目4
  • 清单项目5
  • 清单项目6
  • 清单项目7
  • 清单项目8
  • 清单项目9

在这里,我们也可以使用第n个子项

$('ul')。查找('li:n个子项(3n))。单击(函数(){
console.log($(this.text());
});

  • 清单项目1
  • 清单项目2
  • 清单项目3
  • 清单项目4
  • 清单项目5
  • 清单项目6
  • 清单项目7
  • 清单项目8
  • 清单项目9
您可以使用选择器

$('li:n类型(3n)')。单击(函数(){
console.log('Alert here')
})

  • 清单项目1
  • 清单项目2
  • 清单项目3
  • 清单项目4
  • 清单项目5
  • 清单项目6
  • 清单项目7
  • 清单项目8
  • 清单项目9
使用jQuery
index()

更新:直接运行此代码应该满足您的要求。在本例中,N=3

这是你的电话号码

$(文档).ready(函数(){
var N=3;
$(“ul li”)。单击(函数(){
var index=$(this.index()+1;
如果(索引%N==0){
警报(“是”+N的倍数);
}否则{
警报(“不是”+N的倍数);
}
});
});

  • 清单项目1
  • 清单项目2
  • 清单项目3
  • 清单项目4
  • 清单项目5
  • 清单项目6
  • 清单项目7
  • 清单项目8
  • 清单项目9

计数变量的用途是什么?它可以通过简单的
:nth-child()
:nth-of-type()
选择来实现。您的问题是:“仅当我单击第三、第六和第九个li时才能显示警报”,您的意思是“和”还是“或者您的意思是“或”?