当每个段落被点击的时候,弹出其文本。
jQuery 代码:
$("p").bind("click", function(){
alert( $(this).text() );
});
上面是官方文档给的例子,我现在想给我的a标签绑上函数,每次点击的时候,替换掉html页面中iframe标签的src的值,下面是代码:
for(var i=0; i<r.rows.length; i++){
localhostRows = r.rows;
$(".a_left_navigate").eq(i).bind('click',function(){
var strString1 = localhostRows[i].fileUrls;
var strString2 = strString1 .split(",")[0];
htmlSrc2 = strString2.split("Model\\")[1].replace("\\","/");
$("#iframe_show").attr("src",htmlSrc2);
});
}//for end
刚开始我想绑定的时候随着for循环,i就会变化,就会从数组拿出不同的值,但火狐debug报错
TypeError: localhostRows[i] is undefined
我就想我把i的值变全局变量呢?说干就干,结果是全部a标签都绑定了数组最后一个值,我就郁闷了,我通过在bind函数绑定的click触犯函数中打印发现,绑定是在用户点击a标签之后再绑定上的,那时候for循环已经完了,值当然是最后一个了。
最后我的解决方法是把值赋给a标签的name值,再给a标签绑定,每次点击的时候就把点击a的name属性值拿出来,赋给iframe的src
for(var i=0; i<r.rows.length; i++){
var strString1 = r.rows[i].fileUrls;
$(".a_left_navigate").eq(i).attr('name',strString1);
} //for end
$(".a_left_navigate").bind('click',function(){
$("#iframe_show").attr('src', $(this).attr('name'));
});