今天看了锋利的jQuery第三章,整理了一下自己以前所不知道的知识点。
DOM操作对象分为3个方面,即DOM Core(核心)、HTML-DOM、CSS-DOM。
其中的DOM Core并不专属于javascript,任何一种支持DOM的程序设计语言都可以使用它。getElementById(),getElementsByTagName(),getAttribute(),setAttribute等都是DOM Core的组成部分。document.getElementByTagName("form")、element.getAttribute("src");
HTML-DOM有一些更加简单的写法:document.forms 、element.src等
CSS-DOM则是element.style.color
使用jQuery动态创建单个元素的时候,可以用$("<p></p>")或者$("<p/>"),但不要使用$("<p>")或者大写的$("<P/>");
remove()方法删除后,还是可以继续使用的;
detach()方法与remove()一样,也是删除去掉匹配的元素,但是detach()所有绑定的事件、附加的数据等会保留下来;
再复制节点的时候,使用.clone()和.clone(true)的区别在于,后者可以复制行为;
replaceWith()和replaceAll()替换节点,会移除替换之前绑定的事件;
wrap()与wrapAll()的区别是前者是将所有的元素进行单独包裹,后者是将所有匹配的元素用一个元素来包裹;
$("p").hasClass("another");实际上就等于 $("p").is(".another");
如果要使下拉列表的第2项和第3项被选中:$("#multiple").val(["选择2","选择3"]),这里不管选择几个都是要加上[ ]的;
closest()函数用于取得最近的匹配元素,首先先检查自身;
css()方法中,如果属性中带有“-”符号,例如font-size和background-color属性,如果这些属性在设置的时候是不带引号的,那么就要采用驼峰式写法
e.screenX、e.clientX 、e.pageX的区别:
screenX:鼠标位置相对于用户屏幕水平偏移量,而screenY也就是垂直方向的,此时的参照点也就是原点是屏幕的左上角
clientX:跟screenX相比就是将参照点改成了浏览器内容区域的左上角,该参照点会随之滚动条的移动而移动。
pageX:参照点也是浏览器内容区域的左上角,但它不会随着滚动条而变动,通俗地说就是文档原点