小知识(1)
DOM结构——两个节点之间可能存在哪些关系以及如何在节点之间任意移动。
DOM操作——怎样添加、移除、移动、复制、创建和查找节点。
特性/方法 | 类型/返回类型 | 说明 |
nodeName | String | 节点的名字;根据节点的类型而定义 |
nodeValue | String | 节点的值;根据节点的类型而定义 |
nodeType | Number | 节点的类型常量值之一 |
ownerDocument | Document | 指向这个节点所属的文档 |
firstChild | Node | 指向在childNodes列表中的第一个节点 |
lastChild | Node | 指向在childNodes列表中的最后一个节点 |
childNodes | NodeList | 所有子节点的列表 |
previousSibling | Node | 指向前一个兄弟节点;如果这个节点就是第一个兄弟节点,那么该值为null |
nextSibling | Node | 指向后一个兄弟节点;如果这个节点就是最后一个兄弟节点,那么该值为null |
hasChildNodes() | Boolean | 当childNodes包含一个或多个节点时,返回真 |
attributes | NamedNodeMap | 包含了代表一个元素的特性的Attr对象;仅用于Element节点 |
appendChild(node) | Node | 将node添加到childNodes的末尾 |
removeChild(node) | Node | 从childNodes中删除node |
replaceChild(newnode,oldnode) | Node | 将childNodes中的oldnode替换成newnode |
insertBefore(newnode,refnode) | Node | 在childNodes中的refnode之前插入newnodd |
元素节点 | 节点类型取值(nodeType) |
---|---|
元素element | 1 |
属性attr | 2 |
文本text | 3 |
注释comments | 8 |
文档document | 9 |
事件——怎样使用事件以及IE和DOM事件模型之间存在哪些主要差别。
已有
已有
XMLHttpRequest——这是什么、怎样完整地执行一次GET请求、怎样检测错误。
xmlHttp是通过HTTP协议接受XML或者其他数据的一套API,可以实现异步交互
xmlHttp是通过HTTP协议接受XML或者其他数据的一套API,可以实现异步交互
var xmlhttp;
function loadXMLDoc(url)
{
xmlhttp=null;
if (window.XMLHttpRequest)
{// code for all new browsers
xmlhttp=new XMLHttpRequest()
;
}
else if (window.ActiveXObject)
{// code for IE5 and IE6
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
;
}
if (xmlhttp!=null)
{
xmlhttp.onreadystatechange=state_Change;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
else
{
alert("Your browser does not support XMLHTTP.");
}
}
function state_Change()
{
if (xmlhttp.readyState==4)
{// 4 = "loaded"
if (xmlhttp.status==200)
{// 200 = OK
// ...our code here...
}
else
{
alert("Problem retrieving XML data");
}
}
}
XMLHTTP 的 readyState 值含义:
- 0-未初始化,即尚未调用 open。
- 1-初始化,即尚未调用 send。
- 2-发送数据,即已经调用 send。
- 3-数据传送中。
- 4-完成。
严格模式与混杂模式——如何触发这两种模式,区分它们有何意义。
加入xml头部声明可以触发IE浏览器的Quirks mode,触发之后,浏览器解析方式就和IE5.5一样,拥有IE5.5一样的bug和其他问题,行为(Javascript)也是如此。
IE6的触发
在XHTML的DOCTYPE前加入XML声明
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
IE7的触发
在XML声明和XHTML的DOCTYPE之间加入HTML注释
<?xml version="1.0" encoding="utf-8"?>
<!-- ... and keep IE7 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
IE6和IE7都可以触发的
在HTML4.01的DOCTYPE文档头部加入HTML注释
<!-- quirks mode -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
盒模型——外边距、内边距和边框之间的关系,IE 8以下版本的浏览器中的盒模型有什么不同。
主要是IE8以下盒子模型的高度和宽度 包含了padding border
块级元素与行内元素——怎么用CSS控制它们、它们怎样影响周围的元素以及你觉得应该如何定义它们的样式。
已有
浮动元素——怎么使用它们、它们有什么问题以及怎么解决这些问题。
已有
HTML与XHTML——二者有什么区别,你觉得应该使用哪一个并说出理由。
xhtml:
1要有良好完善的排版
2标签必须小写 要有始有终 空标签也要用斜杠结尾
3都要有属性名并且在引号中
4不要用ID或者NAME属性
5如果使用STRICT模式 许多外观的标签将不被允许
用XHTML理由
1扩展性强,有发展
2符合标准 专业
3支持新的游览设备
4与XML的数据融合性好
JSON——它是什么、为什么应该使用它、到底该怎么使用它,说出实现细节来。
JavaScript 对象表示法(JavaScript Object Notation)
JSON 比 XML 更小、更快,更易解析。
可以像对象一样的去使用JSON
获取元素 位置 大小
游览器大小
clientWidth clientHeight scrollWidth scrollHeight scrollTop scrollLeft
元素
offsetWidth offsetHeight scrollWidth scrollHeight scrollTop scrollLeft
offsetTop offsetLeft