在eq()函数jquery中添加多个索引

时间:2015-11-11 02:29:26

标签: javascript jquery jquery-plugins

我想将以下代码添加到我的内容中:

jQuery( ".pt-cv-content:eq(11)" ).attr( "id" , "content11" );

但我很奇怪

  

我可以在eq()中添加多个索引吗?

例如:

eq(9,10,11).....

感谢

2 个答案:

答案 0 :(得分:2)

不,你不能,你需要多个选择器:

jQuery( ".pt-cv-content:eq(11), .pt-cv-content:eq(12)" ).attr( "id" , "content11" );

或者您可以将索引存储到数组中并循环遍历它:

var arr = [11,12]; // index 11 and 12
$.each(arr, function(i,e){   
  // this will defined same id name
  // which are not valid
  // as ID must be unique
  // unless you defined it by dynamic values there
  $('.pt-cv-content').eq(e).attr( "id" , "content11" );
});

注意:您应该使用动态内容,因为ID必须是唯一的。

<强> DEMO

答案 1 :(得分:0)

请注意

id元素应该是唯一的。将索引91011分别设置为"content11"的元素会在id中创建重复的document

不确定预期结果是什么?

尝试将设置元素class替换为id,以避免在id中设置重复的document

要在元素集合中的索引之间选择多个元素,请尝试使用:lt():gt()

$("div:lt(12):gt(8)").attr("class", "content11")
.content11 {
  color:blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>