如何将jQuery单击处理程序附加到许多ID?

时间:2015-07-24 16:32:00

标签: javascript arrays ajax for-loop while-loop

它最终没有工作我想通过Ajax发送src属性。我有8个ID为#del1 #del2 #del3 #del4的ID按钮:如果您按其中一个我想获取匹配ID的src,例如:#del1 -> #med1

$(document).ready(function()
{       
  for(i=2;i<=10;i++){
    $('#4').on("click", "#del"+i, function(i){  
      var x = document.getElementById("med"+i).getAttribute("src");
      $.ajax({    //create an ajax request to load_page.php
        type: "POST",
        url: "Delete.php",
        data: { url : x },
        dataType: "html",   //expect html to be returned  
        success: function(response){                    
                alert("esklappt");
        }
     });
  } 
});

1 个答案:

答案 0 :(得分:2)

为每个id附加单独的点击处理程序是缓慢且低效的。最好将所有点击目标设为相同的class,然后您可以在一个操作中设置事件处理程序:

<强>代码

NB!点击按钮&#34;点击1&#34; ,查看图片的 src &#34; med1&#34;

&#13;
&#13;
$(function() {
  $('.btn').click(function() {
    alert($("#med" + $(this).prop("id")).prop('src'));
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<input type="submit" id="1" value="click 1" class="btn" />
<input type="submit" id="2" value="click 2" class="btn" />
<img id="med1" src="http://www.google.co.za" />
&#13;
&#13;
&#13;