1 / 13

JavaScript 与 HTML,CSS 的交互

JavaScript 与 HTML,CSS 的交互. 王明建 2012 年 10 月 11 日. DOM 是什么. DOM, 全称 Document Object Model 前身 DHTML( DynamicHTML ) ,最初由 MS 实现 DOM 本质是定义了一组 JS 可以调用的 API DOM 的发展历史就是各浏览器的发展历史. 几个常用的 API.

Download Presentation

JavaScript 与 HTML,CSS 的交互

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JavaScript与HTML,CSS的交互 王明建 2012年10月11日

  2. DOM是什么 • DOM,全称Document Object Model • 前身DHTML(DynamicHTML),最初由MS实现 • DOM本质是定义了一组JS可以调用的API • DOM的发展历史就是各浏览器的发展历史

  3. 几个常用的API • 方法:getElementById, getElementsByTagName, createElement, createTextNode,cloneNode, appendChild, insertBefore, removeChild, replaceChild, getAttribute, setAttribute, removeAttribute, hasChildNodes • 属性:id, tagName, style, childNodes, firstChild, lastChild, nextSibling, parentNode, previousSibling, nodeName, nodeType, nodeValue

  4. 超链接元素(a) • 属性href,target,name • 事件onclick • 特殊用法: • <a href=“javascript:xxx” onclick=“return f();”>text</a>

  5. 图像元素(img) • 属性:src • 事件:onload,onerror • 在ie上面曾经暴露过脚本执行漏洞 • src=“base64:xxxx”

  6. script元素 • 属性:type,src,charset,defer,language • 事件:onload,onerror • 是加载脚本的主要语法,静态动态均可 • ie:onload->onreadystatechange • ajax的一种实现方式 • 特殊用法:el.text = “alert(1);”;

  7. link和style元素 • 属性:type,rel,href,media • 事件:onclick,onerror • 加载外部css文件的语法 • 内联css用style标签 • style特殊用法:el.innerText= “body{color:red;}”;

  8. iframe元素 • 属性:name,src,frameborder,spacing • 事件:onload • 用来加载另外一个页面 • ajax的一种实现方式

  9. form元素 • 属性:name,method,action • 事件:onsubmit • 表单元素:input(type=hidden, text, password, button, radio, checkbox, file, image, submit, reset等), textarea, select(option), button等 • 附属元素: label,fieldset,legend, isindex • 读取表单元素内容:frm.el_name.value • 表单提交: frm.submit(); • 数据检查时机: <form onsubmit=“return check_form(this);”>…</form> • 文件上传文件: <form enctype="multipart/form-data“></form>

  10. 几个特殊元素 • embed • object,param • applet • map, area

  11. XMLHttpRequest • 相关词汇:ajax,XHR,http • 一个http请求的封装组件,示例代码: • var method = "GET"; • var http = new XMLHttpRequest(); • http.open(method, "http://www.xxx.com/xxx.php", true); • if(method == "POST"){ • http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); • } • http.onreadystatechange = function(){ • if(http.readyState != 4) return; • if(http.status == 200){ • console.log(http.responseText); • }else{ • console.error("status=" + http.status); • } • }; • http.send("a=b&c=d");

  12. 操作CSS样式 • css属性与js属性映射关系:border-left-width => borderLeftWidth-moz-opacity => MozOpacity • 读: el.style.width,写:el.style.width=“2px”; • 对应html中<div style=“width:2px;”></div> • 获取样式运行时真实值:ie: el.currentStyle.width!ie: document.defaultView.getComputedStyle(el, null).width • 其他:el.style.cssText = “width:2px;-moz-opacity:0”;

  13. 谢谢!

More Related