缩短JavaScript函数事件
Shorten JavaScript function events
我有一个页面如下:
<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
),我该怎么做?
查看.ech()迭代器
$('.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]);
});
假设result
没有其他功能,您也可以执行:
success: function(result) {
$.each(result,function(i,e){
$('#content' + (i + 1)).html(e);
});
}
相关文章:
- 无法在java脚本中调用图像的点击事件函数
- 如何在事件函数中访问窗口实例
- 事件函数完整日历中的多个ajax调用
- 如何使参数在事件函数中工作
- Jquery Onclick 事件函数第二次不起作用
- 宣传单:双击时不要触发点击事件函数
- Bootstrap/JQuery-单选按钮组事件函数
- 将jQuery事件函数应用于新的Knockout.js数组元素
- 防止在元素上触发新事件,直到当前事件函数在jQuery中完成
- 有没有一种方法可以将多个参数传递给主干js中的事件函数
- 用javascript更新事件函数中的全局变量
- Jquery:如何在事件函数之外获取变量
- 将参数传递给事件函数
- postMessage - 多个 postMessage 事件/函数/回调
- 多事件函数中的悬停延迟
- JavaScript 事件函数 - 在声明之前调用
- 使用 jQuery 循环设置事件函数触发器
- 暂停,直到事件/函数使用 jquery 或 JavaScript 完成
- 如何访问 jQuery 事件函数中的对象属性
- 单击事件函数未从花式盒子灯箱内触发