设为首页 收藏本站
查看: 1191|回复: 0

[经验分享] 小知识点汇总

[复制链接]

尚未签到

发表于 2017-6-22 07:19:25 | 显示全部楼层 |阅读模式
   1、xhtml、html与html5的区别
  html:超文本标记语言 (Hyper Text Markup Language)
xhtml:可扩展超文本标记语言,是一种置标语言,表现方式与超文本标记语言(HTML)类似,不过语法上更加严格。
h5:最先由WHATWG(Web 超文本应用技术工作组)命名的一种超文本标记语言,随后和W3C的xhtml2.0(标准)相结合,产生现在最新一代的超文本标记语言。可以简单点理解成:h5≈ html+CSS 3+js+API。
  HTML:超文本标记语言,标准通用标记语言下的一个应用。
XHTML:可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
XHTML是用XML(eXtensible Markup Language)形式重新表示的HTML。XML是一种通用的、用来描述数据的、基于文本与标记的语言,它也作为其他许多语言(包括XHTML)的基础语言。
XHTML实际上很大程度上是用XML规则重写的HTML。
  html和xhtml最主要的不同:
  ● XHTML 元素必须被正确地嵌套。
          ■ 错误:<Head></Head><Body></Body>
          ■ 正确:<head></head><body></body>
  ● XHTML 元素必须被关闭。
          ■ 错误:<p>xxxx
          ■ 正确: <p>xxxx</p>
  ● 标签名必须用小写字母。
          ■ 错误:<Div></diV>
          ■ 正确:<div></div>
  ● XHTML 文档必须拥有根元素。
  2、DOM操作
1、获取ELEMENT_NODE,元素节点
1)、方法:document.getElementById(元素的Id),返回值为元素的节点引用。
2)、属性:object.innerHTML,返回值:一个节点内的HTML值。
3)、方法:object.getElementsByTagName(标签的名字),返回一个集合,该集合的把有元素都是有指定标签的元素。访问集合里的元素,可以用下标来访问。语法里的object,是指document(根)或者是一个ELEMENT_NODE。
栗子:



<!DOCTYPE html>
<html>
<head>
  <title>never-online's website</title>
  <script>
  function changedivText (strText) {
    var node = document.getElementsByTagName("DIV");
      node[0].innerHTML = strText;
    }
  </script>
</head>
<body>
  <div>tutorial of DHTML and javascript programming</div>
  <input onclick="changedivText('change?')" type="button" value="change"/>
</body>
</html>
  2、动态创建与插入结点
  1)、创建结点对象。document.createElement(tagname),tagname指的是一个标签,比如一个DIV,就是document.createElement("DIV"),
它返回的是这个结点的引用。
2)、在body的尾部插入结点用document.body.appendChild(object),
3)、在元素处插入结点。object.insertBefore(oNewNode [, oChildNode]) ,   oNewNode为一个我们创建的结点,oChildNode是可选的,为 object下的一个子节点。同样的,为了看到效果,我也用了outerHTML。
栗子:



<!DOCTYPE html>
<html>
<head>
<title>never-online's website</title>
  <script>
    function insertNode (strText) {
      alert("插入元素前的body HTML: " +document.body.outerHTML);
      var node = document.createElement("DIV");
      var myNode = document.getElementById("textNode");
      node.innerHTML = strText;
      document.body.insertBefore(node,myNode);
      alert("插入元素后的body HTML: " +document.body.outerHTML);
    }
  </script>
</head>
<body>
  <div id="textNode">tutorial of DHTML and javascript programming</div>
  <input onclick="insertNode('change?')" type="button" value="change"/>
</body>
</html>
  3、移除结点。
  1) object.parentNode.removeChild(oChildNode),这个就是语法。
栗子:



<html>
<head>
  <title>never-online's website</title>
  <script>
  function insertNode (strText) {
    alert("插入元素前的body HTML: " +document.body.outerHTML);
    var node = document.createElement("DIV");
    var myNode = document.getElementById("textNode");
    node.innerHTML = strText;
    document.body.insertBefore(node,myNode);
    alert("插入元素后的body HTML: " +document.body.outerHTML);
  }
  function removeCreateNode() {
    alert("移除元素前的body HTML: " +document.body.outerHTML);
    var node = document.getElementById("textNode");
    node.parentNode.removeChild(node);
    alert("移除元素前的body HTML: " +document.body.outerHTML);
  }
  </script>
</head>
<body>
  <div id="textNode">tutorial of DHTML and javascript programming</div>
  <input onclick="insertNode('change?')" type="button" value="insert"/>
  <input onclick="removeCreateNode()" type="button" value="remove"/>
</body>
</html>
  parentNode和parentElement功能一样,childNodes和children功能一样。但是parentNode和childNodes是符合W3C标准的,可以说比较通用。而另外两个只是IE支持,不是标准,Firefox就不支持
  
添加文本节点:
(1)



<body>
  <h2>创建文本节点</h2>
  <button onclick="addText()">创建文本节点</button>
  <p></p>
  <script>
    function addText(){
      var element = document.getElementsByTagName('p')[0];
      var txt = document.createTextNode('新增文本内容'); //创建文本节点
      element.appendChild(txt); //添加文本节点
    }
  </script>
</body>
  (2)推荐写法



<body>
  <h2>创建文本节点</h2>
  <button onclick="addText()">创建文本节点</button>
  <p></p>
  <script>
    function addText(){
      var element = document.getElementsByTagName('p')[0];
      element.innerHTML='新增文本内容'; //插入文本内容
    }
  </script>
</body>
  3、W3C的标准DOM事件模型和IEDOM事件模型的区别
  在浏览器解析事件的时候,有两种触发方式,一种叫做Bubbling(冒泡),另外一种叫做Capturing(捕获)。由上图可以看出来,冒泡的方式效果就是当一个DOM元素的某事件例如click事件被fire时,依次它的父元素的click事件也被fire(触发),一直传递到最顶层的body元素为止。而捕获的触发方式正好相反,当某个元素的click事件被触发时,先从最顶层的body元素click事件被触发开始,一直传递到真正被触发的元素为止。
......
最后我在推荐两个必须知道的IE和W3C标准的区别用法吧—
1、 当我们需要阻止浏览器某DOM元素的默认行为的时候在W3C下调用e.preventDefault(),而在IE下则通过window.event.returnValue=false来实现。
2、当我们要阻止事件冒泡的时候,在W3C标准里调用e.stopPropagation(),而在IE下通过设置window.event.cancelBubble=true来实现。
============================================================================
4、XMLHttpRequest工作原理
  异步JavaScript与XML(AJAX)是一个专用术语,用于实现在客户端脚本与服务器之间的数据交互过程
  5、
1).什么是严格模式?
  而严格模式是浏览器根据web标准去解析页面,是一种要求严格的DTD,不允许使用任何表现层的语法,如<br/>。
  2).什么是混杂模式?
  混杂模式则是一种向后兼容的解析方法,说的透明点就是可以实现IE5.5以下版本浏览器的渲染模式。
  3).触发严格模式
  触发严格模式很简单,就是正常的建立网页,声明正确的DTD,便是严格模式。
  4).触发混杂模式
而混杂模式的触发可以通过在HTML文档开始不声明DTD,或者在DOCTYPE前加入XML声明l<?xml version=”1.0〃 encoding=”utf-8〃?>来实现。
  =================当然html5已经可以不用声明DTD了,目前不管做什么网站都要考虑兼容问题
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  6、标准盒子模型和ie盒子模型
   DSC0000.png
   从上图可以看到标准 W3C 盒子模型的范围包括 margin、border、padding、content,并且 content 部分不包含其他部分。
   DSC0001.png
  从上图可以看到 IE 盒子模型的范围也包括 margin、border、padding、content,和标准 W3C 盒子模型不同的是:IE 盒子模型的 content 部分包含了 border 和 pading。
  -----------------------------------------------------------------------------------------------------------------------
  盒子模型的 Margin不支持背景色;border不支持背景色、它有自己的背景色;padding和content支持背景色。
如图:
   DSC0002.png
  (此原稿在有道云笔记)
  =============================================================================
7、块元素、内联元素、空元素。
8、float:left;
9、DOM结构:
  
  10、json
  http://www.cnblogs.com/mcgrady/archive/2013/06/08/3127781.html
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-386623-1-1.html 上篇帖子: Java面试中常问的基础问题 下篇帖子: 李洪强和你一起学习前端之(1)Html基础
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表