锋利的jq第二天
1.# * []等特殊符号转译用双斜杠\\
2.选择器中的空格问题
$(".test :hidden") 和$(".test:hidden")
3.交替事件::visible/toggle(function(){},function(){})/toggleClass()/slideToggle()
5.append/insert/after/berfore等原节点剪切
6.删除dom
remove():删除的元素在页面消失,但后面仍可以调用;删除子代元素,也删除了自身
empty():清空,子代删除,自身保留
7.clone(true):true的意义在于绑定的方法也被克隆了
8.替换dom
replaceWith()/replaceAll():被替换的元素所绑定的方法也被替换,需要重新绑定
9.wrap()/wrapAll()
wrap():一个个包裹匹配的元素 wrapAll():一个标签包裹所有匹配的元素
wrapInner()
10.attr():用attr操作class是替换而非追加;想要追加class用addClass
11.hasClass()/is()
12.input的placehoder存在兼容问题,可以通过val()方法的focus和blur以及判断是否输入来代替(初始值defaultValue)
13.jQuery已经处理好透明度的兼容性(opacity)
14.获取元素高度
.css()获取高度跟css设置有关,可能为auto或带px的字符串
height()只和页面实际高度有关,是不带px的数字
重要:
15.offset()和position()
offset():相对视窗 position():相对最近的position
scrollTop()和scrollLeft():是滚动条相对的距离
16.合成事件
hover(enter,leave) toggle()
17.阻止事件冒泡:e.stopPropagation()
阻止默认行为:e.preventDefault()
都可以阻止:return false;
18.jq不支持事件捕获,原生js支持
19.获取事件类型:event.type
event.target();
event.pageX/Y
event.witch()// 1.鼠标左键 2.中 3.右
event.metaKey //获取键盘ctrl键
20.添加事件命名空间,便于管理(click.plugin)
相同事件名称不同命名空间(匹配!)
21.属性选择器:$("div[id/class][title*='es']")