今天做一个jquery功能的时候遇到一个问题,好像是for循环出现了问题,我解决不了,大家帮忙看看哦,先谢谢你们! 代码如下:
<table width="795" class="admin_table" cellpadding="0" cellspacing="0">
<tr>
<td class="admin_td1" style="border-top:1px solid #ccc">XCC001</td>
<td class="admin_td1" style="border-top:1px solid #ccc">田克群</td>
<td style="border-top:1px solid #ccc">
<span class="ad_sp_1">已开通</span>
<span class="ad_sp_2">点击取消</span>
</td>
</tr>
<tr>
<td class="admin_td1">XCC002</td>
<td class="admin_td1">郭德华</td>
<td>
<span class="ad_sp_1">已开通</span>
<span class="ad_sp_2">点击取消</span>
</td>
</tr>
<tr>
<td class="admin_td1">XCC003</td>
<td class="admin_td1">瞿颖</td>
<td>
<span class="ad_sp_1">未授权</span>
<span class="ad_sp_2">点击开通</span>
</td>
</tr>
</table>
<script>
$(document).ready(function(){
var c=$(".admin_table").find("tr").length;
for(var t=0;t<c;t++){
$(".ad_sp_2").eq(t).click(function(){
var a=$(".ad_sp_2").eq(t).text();
var b=$(".ad_sp_2").eq(t);
alert(t)
if(a=="点击开通"){
b.prev().text("已开通");
b.prev().css("color","red");
b.text("点击取消");
b.css("color","#3a80c5");
}
else if(a=="点击取消"){
b.prev().text("未授权");
b.prev().css("color","#999999");
b.text("点击开通");
b.css("color","#3a80c5");
}
})}
})
</script> jQuery
[解决办法]
for(var t=0;t<c;t++){
(function(t){
$(".ad_sp_2").eq(t).click(function(){
var a=$(".ad_sp_2").eq(t).text();
var b=$(".ad_sp_2").eq(t);
alert(t)
if(a=="点击开通"){
b.prev().text("已开通");
b.prev().css("color","red");
b.text("点击取消");
b.css("color","#3a80c5");
}
else if(a=="点击取消"){
b.prev().text("未授权");
b.prev().css("color","#999999");
b.text("点击开通");
b.css("color","#3a80c5");
}
})
})(t);
}
[解决办法]
楼主要补习下jq基础了。
$(document).ready(function () {
$("table.admin_table span.ad_sp_2").click(function () {
var a = this.innerHTML;
if (a == "点击开通") $(this).text("点击取消").css("color", "#3a80c5").prev().html('已开通').css('color', 'red')
else $(this).text("点击开通").css("color", "#3a80c5").prev().html('未授权').css('color', '#999999')
})
});