Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.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_Jquery Selectors - Fatal编程技术网

Javascript jquery使用短代码选择几个元素

Javascript jquery使用短代码选择几个元素,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我想用jquery选择几个元素,如下所示: $('p:nth-child(1),p:nth-child(4),p:nth-child(7),p:nth-child(10)') //nth-child is : 1,4,7,10,13,16,19,22 and etc 我必须每3项选择1项。 如何使用动态代码执行此操作?您可以将要选择的子项存储在数组中,并使用循环生成选择器: var children = [1,4,7,10,13,17,21,24], selector = ""; /

我想用jquery选择几个元素,如下所示:

$('p:nth-child(1),p:nth-child(4),p:nth-child(7),p:nth-child(10)')
//nth-child is : 1,4,7,10,13,16,19,22 and etc
我必须每3项选择1项。
如何使用动态代码执行此操作?

您可以将要选择的子项存储在数组中,并使用循环生成选择器:

var children = [1,4,7,10,13,17,21,24],
    selector = "";

// Loop through each value in your array, populating your selector string
// Each loop will add "p:nth-child(n)," to your selector string
for (var i=0; i<children.length; i++)
    selector += "p:nth-child(" + children[i] + "),";

// Remove trailing comma
selector = selector.slice(0, -1);

如果要每3个选择1个项目,可以执行以下操作:

$("p:nth-child(3n+1)")
例如,我将在这里设置“p”项的背景色,但仅设置第1、4、7项的背景色…:

$("p:nth-child(3n+1)").css("background-color", "red");

请参阅JSFIDLE更新:

什么是“动态代码”?shor应该是“短”吗?问题不清楚。例如使用数组。这些是您正在选择的纯子项吗?不清楚:您希望每3项选择1项?(在这种情况下……可能您的示例是错误的,1、4、7、10、13、16、19、22、25等等)谢谢,但有没有办法使用动态数组,我从数据库中获取数据,可能有10个元素或1000个元素。创建数组,然后使用
数组迭代数据。按(n)
填充其内容。在本例中,
array
是数组的名称,
n
是子编号。例如,如果元素的编号为
5
,而像我这样的数组被称为
children
,则使用
children.push(5)
。我想我需要一个计算数字1、4、7、10和10的算法etc@user3760964您没有提供任何关于如何生成这些数字的信息。@user3760964我不知道,因为您没有提供任何关于如何生成这些数字的信息。您还没有指定数据是什么或如何动态生成数据。在回答这样的问题之前,我们需要看到更多的代码。
$("p:nth-child(3n+1)").css("background-color", "red");