缩短javascript函数事件

问题描述

| 我的页面如下:
<head>
<script type=\"text/javascript\" src=\"jquery-1.6.1.js\"></script>
<script type=\"text/javascript\">
$(document).ready( function() {
  var i = 1;
$(\'#prev\').click(function() {
  $.ajax({
  type: \'POST\',url: \'ajax.PHP\',data: \'id=\' + i,dataType: \'json\',cache: false,success: function(result) {
    $(\'#content1\').html(result[0]);
    $(\'#content2\').html(result[1]);
    $(\'#content3\').html(result[2]);
    $(\'#content4\').html(result[3]);
    $(\'#content5\').html(result[4]);
    $(\'#content6\').html(result[5]);
  },});
  i++;
});
});
</script>
</head>
<body>
<table>
<tr>
<td id=\"prev\">prev</td>
<td id=\"content1\">X</td>
<td id=\"content2\">X</td>
<td id=\"content3\">X</td>
<td id=\"content4\">X</td>
<td id=\"content5\">X</td>
<td id=\"content6\">X</td>
<td id=\"next\">next</td>
</tr>
</table>
</body>
代码运行良好。但是,有什么解决方案可以一步一步做到吗?我的意思是,如果我可以为内容1-6提供通用类
content
而不是特定ID。如果内容单元格没有特定的ID(从
content1
content6
,并且具有共同的类
content
),该怎么办? 提前致谢..     

解决方法

        看一下.each()迭代器
$(\'.content\').each(function(index){
     $(this).html(result[index]);
});
    ,        您可以在自己的情况下使用:
success: function(result) {
    for(var i=0; i < 6; i++)
    {
      $(\'#content\' + (i + 1)).html(result[i]);
    }
  }
但是,如果
#content
div没有标识符可使用,则必须依次设置每个标识符。 如果您可以在一次调用中获得所有
content
div,则还可以使用jQuery
each
迭代器:
$(\'div .content\').each(function(ind)
{
  $(this).html(result[ind]);
});
    ,        假设ѭ11没有其他东西,您也可以这样做:
success: function(result) {
    $.each(result,function(i,e){
      $(\'#content\' + (i + 1)).html(e);
    });
  }