遇见的问题(一)
一:所有浏览器只有谷歌打开时报错
net::ERR_BLOCKED_BY_CLIENT
解决方案:将谷歌上的插件adBlock关掉即可
二:当嵌套多层引号时,需要进行引号转义方可运行,在引号前方加上“\”就实现转化。
在生成html结构时特别容易产生引号多层嵌套。如下:
‘<input type="text" onkeyup="value=value.replace(/[^\w\.\/]/jg,\'\')">’+ //‘<input type="text" onkeyup="value=value.replace(/[^\w\.\/]/jg,'')">’+//当出现“\"时也需要再加上”\“进行转义 '<em>--</em>'+
三:jquery中attr与prop的区别
1.对于HTML元素本身就带有的属性,在处理时,使用prop方法
2.对于HTML元素本身不带有的属性,在处理时,使用attr方法
像checkbox,select和radio这样元素时
$("#chk1").prop("checked")=====false $("#chk1").prop("checked")=====true
$("#chk1").attr("checked")=====undefined $("#chk1").attr("checked")====="checked"
ps:当有多个ID或者Class重复时,$("#chk1").attr("checked")=====undefined也会出现,应该对每一个元素进行each遍历
四:事件委托给未来元素绑定事件,当DOM元素是js动态生成的时(直接使用bind等绑定不起作用)
1.使用delegate进行绑定未来元素,使用delegate为事件委托,使用On为单纯的事件绑定
$("#uploadImg").delegate("ul li button","click",function(){ console.log(999); })
2.给父元素绑定事件,根据事件捕获,会自上而下传递给li
$("ul").click(function(event){ var target=event.target if(target.className=="item"){ } })
五:jquery的index()方法搜索匹配的元素并返回相应元素的索引值,从0开始计数
console.log($("#ploadImg li").index($(this).parents("li")));