通过循环动态jQuery选择器?

时间:2016-01-27 02:04:45

标签: javascript jquery

如何循环使用一组数字来定位我的元素?例如

    for ( i = 1; i < 9; i++ ) {
        $( 'myPetal'+i ).myX = 500;
        $( 'myPetal'+i ).myY = 500;
    }

3 个答案:

答案 0 :(得分:1)

不要忘记在jQuery中你还需要选择器:

对于您要执行的ID

 for ( var i = 1; i < 9; i++ ) {
      $( '#myPetal'+i ).myX = 500;
      $( '#myPetal'+i ).myY = 500;
 }

对于课程

for ( var i = 1; i < 9; i++ ) {
         $( '.myPetal'+i ).myX = 500;
         $( '.myPetal'+i ).myY = 500;
    }

您的代码示例将在DOM中查找<myPetal[i]>

答案 1 :(得分:0)

您可以避免循环,而是在查询中使用前缀myPetal来获取具有以该值开头的类的所有元素:

$("*[class^='myPetal']").attr('myY', 500);

在使用其他属性的情况下可以应用相同的想法

答案 2 :(得分:0)

&#13;
&#13;
$('.class1').attr('myX', 500);
$('.class1').attr('myY', 500);
$('.class1').html('myX : '+$('.class1').attr('myX') + ' myY : '+$('.class1').attr('myY'));
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="class1">class1</div>
<div class="class1">class1</div>
<div class="class1">class1</div>
&#13;
&#13;
&#13;

如果你有相同的元素类,你想要添加的值是相同的,你可以这样做,或者你可以使用像这样的.each()函数循环它

$('.class1').each(function(){
   $(this).attr('myX', 500);
   $(this).attr('myY', 500);
})