第九章

DOM

  1. DOM(文档对象模型)是针对HTML和XML文档的一个API。描绘了一个层次化的节点树,允许开发人员添加,修改和删除页面的某一个部分。

  2. 节点层次

    • DOM可以将任何HTML或XML文档描绘成一个由多层节点构成的结构。
    • 节点分为几种不同的类型。每种类型分别表示文档中不同的信息或标记。
    • 每个节点都有各自的特点,方法和数据。
    • 每个节点之间和其他节点之间存在某种关系。
    • 节点之间的关系构成了层次,而所有页面标记则表现为一个以特定节点为根节点的树形结构。
    • 文档节点是每个文档的根节点。
    • 元素称为文档元素。文档元素是文档的最外层元素,文档中的其他所有元素都是包含在文档元素中。
    • 每个文档都只能有一个文档元素。在HTML中,文档元素始终都是元素。在XML中,没有预定义的元素,则任何元素都有可能是文档元素。
    • 每一段标记都可以用树中的一个节点表示。
  3. Node类型

    1. 这个Node接口在JavaScript中是作为Node类型实现的;除了IE外,在其他所有浏览器中都可以访问到这个类型。
    2. JavaScript中的所有节点类型都是继承自Node类型,因此,所有节点类型都共享相同的基本属性和方法。
    3. 每个节点都有一个nodeType属性,用于表示节点类型。节点类型由在Node类型中定义的下列12个数据常量表示,任何节点必居其一。
    常量名 常量值 节点类型 描述
    Node.ELEMENT_NODE 1 Element 代表元素
    Node.ATTRIBUTE_NODE 2 Attr 代表属性
    Node.TEXT_NODE 3 Text 代表元素或属性中的文本内容
    Node.CDATA_SECTION_NODE 4 CDATASection 代表文档中的 CDATA 部(不会由解析器解析的文本)
    Node.ENTITY_REFERENCE_NODE 5 EntityReference 代表实体引用
    Node.ENTITY_NODE 6 Entity 代表实体
    Node.PROCESSING_INSTRUCTION_NODE 7 ProcessingInstruction 代表处理指令
    Node.COMMENT_NODE 8 Comment 代表注释
    Node.DOCUMENT_NODE 9 Document 代表整个文档(DOM 树的根节点)
    Node.DOCUMENT_TYPE_NODE 10 DocumentType 向为文档定义的实体提供接口
    Node.DOCUMENT_FRAGMENT_NODE 11 DocumentFragment 代表轻量级的 Document 对象(文档的某个部分)
    Node.NOTATION_NODE 12 Notation 代表 DTD 中声明的符号
    1. 由于IE没有公开Node类型的构造函数,所以为了确保跨浏览器兼容问题,最好是将nodeType属性与数字值进行比较。
    2. 对于元素节点,nodeName中保存的值始终是元素的标签名(大写),而nodeValue的值始终为null。
    3. 对于属性节点的 nodeName 是属性名称,nodeValue 属性包含属性值。
    4. 对于文本节点的 nodeName 永远是 #text,nodeValue 属性包含文本。
    5. 节点关系
      1. 每个节点都有一个childNodes属性,返回一个NodeList对象。该对象是一个类数组对象,用于保存一组有序的节点,可以通过位置来访问这些节点。且该对象有length属性,但它不是Array的实例。该对象是基于DOM结构动态执行查询的结果,就是说DOM结构的变化会自动反映到该对象中。
      2. 每个节点都有一个parentNode属性,返回该节点的父节点。每个节点的previousSibling和nextSibling属性,分别返回该节点的上一个和下一个节点。
      3. 每个节点都有hasChildNodes()方法,这个方法在该节点包含一个或多个节点的情况下返回true。
      4. 每个节点都有一个ownerDocument属性,返回表示整个文档的文档节点。这种关系表示的是任何节点都属于它所在的文档,任何节点都不能同时存在于两个或多个文档中。
    6. 操作节点
      1. appendChild() 用于向childNodes列表的末尾添加节点。如果传入该方法中的节点是文档的一部分,那么该传入的节点就会被移动到新的位置。
      2. insertBefore() 用于向childNode列表中特定的位置添加节点。接收两个参数:要插入的节点和作为参照的节点,同时该方法被返回。插入的节点会被插入到参照节点的前一个位置。如果参照节点是null,那么效果等同于appendChild。
      3. replaceChild() 用于替换节点,接收两个参数:要插入的节点和替换的节点。要替换的节点将有这个方法返回并从文档树中剔除,同时由要插入的节点占据其位置。使用该方法插入一个节点时,该节点的所有关系指针都会从被他所替换的节点复制过来。替换的节点仍在文档中,但文档中没有其位置了。
      4. removeChild() 用于移除节点,接收一个参数:要移除的节点。被移除的节点成为该方法的返回值。移除的节点仍在文档中,但文档中没有其位置了。
      5. cloneNode() 用于创建调用该方法的节点的一个完全相同的副本。接收一个布尔值:表示是否执行深复制。在参数为true下,执行深复制,就是复制节点以及其整个子节点树,但是不会复制添加到DOM树节点中的JavaScript属性,如事件处理程序等(注意:IE中有一个BUG,它会复制事件处理程序,因此在复制之前最好移除事件处理程序);在参数为false下,执行浅复制,即只复制该节点,复制后的节点归文档所有,但并没有为他指定父节点,所以这个节点在文档中类似于“孤儿”。
  4. Document类型

    1. document对象是HTMLDocument的一个实例,表示整个HTML页面。document对象是window对象的一个属性,因此可以将其作为全局对象来访问。

    2. Document节点有以下特征:

      1. nodeType的值为9
      2. nodeName的值为"#document"
      3. nodeValue的值为null
      4. parentNode的值为null
      5. ownerDocument的值为null
      6. 其子节点可能是一个DocumentType(最多一个),Element(最多一个),ProcessingInstruction或Comment
    3. 文档的子节点

      1. 访问document节点的html子节点内置的访问方法
        • documentElement属性,该属性始终指向HTML页面中的
        • 通过document.childNodes[0]列表来访问
        • 通过document.firstChild来访问
      2. document.body直接指向元素
      3. document.doctype可以访问元素,不同浏览器有差异
        • IE8及之前的版本:如果存在文档类型声明,会将其错误的解释为一个注释并把它当成Comment节点;而document.doctype的值始终为null。
        • IE9+以及Firefox:如果存在文档类型声明,则将其作为文档的第一个子节点;document.doctype是一个Document节点,也可以通过document.firstChild或document.childNodes[0]来访问同一个节点。
        • Safari,chrome和Opera:如果存在文档类型声明,将其解析,但不作为文档的子节点。document.doctype是一个Document节点,但该节点不会出现在document.childNodes中。
      4. 元素外部的注释在不同浏览器中处理不同
        
        
        
        
        • ie8及之前的版本,Safari 3.1及更高的版本,opera和chrome 只会为第一条注释创建节点,不为第二条注释创建节点。因此第一条注释会成为document.childNodes中的第一个节点、
        • ie9及更高的版本,将第一条注释创建为document.childNodes中的一个注释节点,也将第二条注释创建为document.childNodes中的注释节点。
        • Firefox以及Safari 3.1之前的版本会完全忽略这两条注释。
    4. 文档信息

      1. document.title 包含</code>元素中的文本,会显示在浏览器窗口的标题栏或标签页上。修改title属性值也会改变<code><title></code>元素。</li> <li>document.URL 包含页面完整的URL(即地址栏中显示的URL)。</li> <li>document.domain 只包含页面的域名。不能将这个属性值设置为URL中不包含的域。</li> <li>document.referrer 包含链接到当前页面的那个页面的URL。在没有页面来源的情况下,可能为空字符串。</li> <li>解决跨域问题的一个方法: <ul> <li>由于跨域安全限制,来自不同子域的页面无法通过JavaScript通信。而将每个页面的document.domain设置为相同的值,那么这些页面就可以互相访问对方包含的JavaScript对象。</li> <li>例如,一个页面加载自<code>www.wrox.com</code>,其中包含一个内嵌框架,这个内嵌框架的页面加载自<code>p2p.worx.com</code>。如果将document.domain值都设置为"wrox.com",那么他们之间就能相互通信了。</li> </ul> </li> </ol> </li> <li> <p>查找元素</p> <ol> <li>document.getElementById() 接收一个参数:要取得的元素ID。如果找到相应的元素则返回该元素,如果不存在则返回null。注意ID必须严格匹配,包括大小写。如果页面中有多个元素的ID相同,返回第一次出现的元素。</li> <li>document.getElementByTagName() 接收一个参数:要取得的元素标签名,返回的是包含零个或多个元素的NodesList。在HTML文档中,返回的是HTMLCollection对象,类似于NodeList对象。 <ol> <li>HTMLCollection对象中的项访问方式 <ol> <li>使用方括号中使用数值语法或item()</li> <li>使用nameItem()方法,该方法接收的参数为要查找的元素的name属性值</li> <li>使用方括号中使用查找的元素的name属性值</li> </ol> </li> <li>如果传入参数为*,则表示要获取全部标签,按照它们出现的先后顺序出现。</li> </ol> </li> <li>document.getElementByName() 接收一个参数:要取得元素的name属性值,返回所有具有该name属性值的元素。</li> </ol> </li> <li> <p>特殊集合</p> <ol> <li>document.anchors 包含文档中所有带name特性的<code><a></code>元素。</li> <li>document.forms 包含文档中所有的<code><form></code>元素。</li> <li>document.images 包含文档中所有的<code><img></code>元素。</li> <li>document.links 包含文档中所有带href特性的<code><a></code>元素。</li> </ol> </li> <li> <p>DOM一致性检测:检测浏览器实现了DOM的哪些部分,可以使用document.implementation.hasFeature()方法,该接收两个参数:要检测的DOM功能的名称和版本号。如果浏览器支持给定名称和版本的功能,则返回true,否则返回false。</p> <br> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 563px;"> <div class="image-view"> </div> </div> <div class="image-caption"> 检测的不同的值及版本号 </div> </div> </li> <li> <p>文档写入</p> <ol> <li>document.write() 接收一个字符串参数,即要写入到输出流中的文本。可动态的向页面中加入内容</li> <li>document.writeln() 接收一个字符串参数,即要写入到输出流中的文本,但会在字符串的末尾加上一个换行符。可动态的向页面中加入内容</li> <li>document.open() 打开网页的输出流</li> <li>document.close() 关闭网页的输出流</li> </ol> </li> </ol> </li> <li> <p>Element类型</p> <ol> <li>该类型用于表现XML或HTML元素,提供了对元素标签名,子节点及特性的访问。</li> <li>Element节点具有以下特征: <ol> <li>nodeType的值为1</li> <li>nodeName的值为元素的标签名</li> <li>nodeValue的值为null</li> <li>parentNode的值为Document或Element</li> <li>其子节点可能是Element,Text,Comment,ProcessiongInstruction,CADTASection或EntityReference</li> </ol> </li> <li>要访问元素的标签名,可以使用nodeName,也可以使用tagName</li> <li>HTML元素:任何元素的所有特性,都可以通过DOM元素本身的属性来直接访问。 <ol> <li>所有HTML元素都由HTMLElement类型表示,不是直接通过这个联系,也是通过它的子类型来表示。HTMLElement类型直接继承自Element并添加了一些属性。添加的属性分别对应于每个HTML元素中都存在的下列标准特性。 <ol> <li>id,元素在文档中的唯一标识符</li> <li>title,有关元素的附加说明信息,一般通过工具提示条显示出来</li> <li>lang,元素的语言代码</li> <li>dir,语言的方向,值为"ltr"从左到右或"rtl"从右到左</li> <li>className,为元素指定的CSS类</li> </ol> </li> </ol> </li> <li>取得特性:getAttribute() 接收一个参数:要取得的特性名 <ol> <li>该方法也能获取到自定义特性</li> <li>特性的名称是不区分大小写的,即"id"与"ID"是同一特性</li> <li>当特性是style时,返回的是CSS文本</li> <li>当特性是onclick这样的事件处理程序,返回相应代码的字符串</li> </ol> </li> <li>设置特性:setAttribute() 接收两个参数:要设置的特性名和值 <ol> <li>如果特性已经存在,则会用指定的值替换现有的值;如果不存在,则新建该属性并赋值。</li> <li>通过这个方法设置的特性名会被统一转换为小写形式。</li> </ol> </li> <li>删除特性:removeAttribute() 接收一个参数:即要删除特性的名称。会清除特性的值,也会将该特性从元素中彻底删除。</li> <li>attribute属性 <ol> <li>Element类型是使用attribute属性的唯一一个DOM节点类型。attribute属性中包含一个NameNodeMap,与NodeList类似。元素的每一个特性都由一个Attr节点表示,每个节点都保存在NameNodeMap对象中。该对象有以下方法: <ol> <li>getNameItem(name):返回nodeName属性等于name的节点</li> <li>removeNameItem(name):从列表中删除nodeName属性等于name的节点,并返回被删除特性的attr节点</li> <li>setNameItem(node):向列表中添加节点,以节点的nodeName属性为索引</li> <li>item(pos):返回位于数字pos位置处的节点</li> </ol> </li> <li>attribute属性中包含一系列节点,每个节点的nodeName就是特性的名称,而节点的nodeValue就是特性的值。</li> <li>对于attribute对象中的属性,不同浏览器返回的顺序不同。这些特性在XML或HTML代码中的先后顺序,不一定与它们出现在attribute对象中的顺序一致。</li> </ol> </li> <li>创建元素:document.createElement() 接收一个参数:即要创建元素的标签名。这个标签名在HTML文档中不分大小写,但在XML文档中区分。 <ol> <li>在IE中,可以在该方法中传入完整的元素标签,也可以包含属性。</li> <li>一些问题可以通过传入完整的元素标签来解决: <ol> <li>不能设置动态创建的<code><iframe></code>元素的name特性</li> <li>不能通过表单的reset()方法重设动态创建的<code><input></code>元素</li> <li>动态创建的type特性值为"reset"的<code><button></code>元素重设不了表单</li> <li>动态创建的一批name相同的单选按钮彼此毫无关系</li> </ol> </li> </ol> </li> </ol> </li> <li> <p>Text类型</p> <ol> <li>文本节点由Text类型表示,包含的是可以照字面解释的纯文本内容。纯文本内容可以包含转义后的HTML字符,但不能包含HTML代码。</li> <li>Text节点具有以下特征: <ol> <li>nodeType的值为3</li> <li>nodeName的值为"#text"</li> <li>nodeValue的值为节点所包含的文本</li> <li>parentNode的值Element</li> <li>不支持(没有)子节点</li> </ol> </li> <li>可以通过nodeValue属性或data属性来访问Text节点包含的文本,这两个属性中包含的值相同。</li> <li>操作节点中的文本方法: <ol> <li>appendData(text):将text添加到文本的末尾</li> <li>deleteData(offset,count):从offset指定的位置开始删除count个字符</li> <li>insertData(offset,text):在offset指定的位置插入text</li> <li>replaceData(offset,count,text):用text替换从offset指定的位置开始到offset+count为止处的文本</li> <li>spliceText(offset):从offset指定为止将当前文本节点分成两个文本节点</li> <li>substringData(offset,count):提取从offset指定的位置开始到offset+count为止处的字符串</li> </ol> </li> <li>文本节点还有length属性,保存节点中字符的数目。nodeValue.length和data.length保存相同的值。</li> <li>在默认下,每个可以包含内容的元素最多只能有一个文本节点,而且必须有内容存在。</li> <li>创建文本节点:document.createTextNode() 接收一个参数:要出入节点的文本或完整的HTML代码(含文本)。</li> <li>如果两个文本节点是相邻的同胞节点,那么这两个节点的文本就会连接起来,中间不会有空格。</li> <li>规范文本节点:如果一个父元素包含两个或多个文本节点,可以调用normalize()方法,将所有节点合并成一个节点,结果节点的nodeValue等于合并前每个文本节点的nodeValue值拼接的值。</li> <li>分隔文本节点:spliceText(offset)将一个文本节点分割成两个文本节点,按照指定位置分隔nodeValue值。原来的文本节点将包含从开始到指定位置之前的内容,新节点包含剩下的文本。该方法返回一个新文本节点,该节点与原节点的parentNode相同。</li> </ol> </li> <li> <p>Comment类型</p> <ol> <li>注释在DOM中是通过Comment类型表示的。</li> <li>Comment节点具有以下特征: <ol> <li>nodeType的值为8</li> <li>nodeName的值为"#comment"</li> <li>nodeValue的值为注释的内容</li> <li>parentNode的值Element或Document</li> <li>不支持(没有)子节点</li> </ol> </li> <li>Comment类型与Text类型继承自相同的类,因此它也拥有除splitText之外的所有字符串操作方法。</li> <li>可以通过nodeValue或data属性来取得注释的内容。</li> <li>使用document.createComment()并为其传递注释文本可以创建注释节点。</li> </ol> </li> <li> <p>CDATASection类型</p> <ol> <li>该类型只针对XML文档,表示的是CDATA区域。</li> <li>与Comment类似,拥有除了拥有除splitText之外的所有字符串操作方法。</li> <li>具有以下特征: <ol> <li>nodeType的值为4</li> <li>nodeName的值为"#cdata-section"</li> <li>nodeValue的值为CDATA区域中的内容</li> <li>parentNode的值Element或Document</li> <li>不支持(没有)子节点</li> </ol> </li> <li>在真正的XML文档中,可以使用document.createCDataSection()来创建CDATA区域,只需传入节点的内容即可。</li> </ol> </li> <li> <p>DocumentType类型</p> <ol> <li>在web浏览器中并不常用,仅有Firefox,safari和opera支持。</li> <li>包含着与文档的doctype有关的所有信息,具有以下特征: <ol> <li>nodeType的值为10</li> <li>nodeName的值为doctype的名称</li> <li>nodeValue的值为null</li> <li>parentNode的值Document</li> <li>不支持(没有)子节点</li> </ol> </li> <li>在DOM1级中,DocumentType对象不能动态创建,而只能通过解析文档代码的方式创建。支持它的浏览器会把DocumentType对象保存在document.doctype中。</li> <li>DOM1级描述了DocumentType对象的三个属性: <ol> <li>name 表示文档类型的名称</li> <li>entities 由文档类型描述的实体的NameNodeMap对象</li> <li>notations 由文档类型描述的符号的NameNodeMap对象</li> </ol> </li> <li>通常,浏览器中的文档使用的都是HTML或XHTML文档类型,所以entities和notations一般为空列表。</li> </ol> </li> <li> <p>DocumentFragment类型</p> <ol> <li>在所有节点类型中,只有DocumentFragment在文档中没有对应的标记。DOM规定文档片段是一种轻量级的文档,可以包含和控制节点,但不会像完整文档那样占用额外的资源。</li> <li>具有以下特征: <ol> <li>nodeType的值为11</li> <li>nodeName的值为"document-fragment"</li> <li>nodeValue的值为null</li> <li>parentNode的值null</li> <li>其子节点可能是Element,Text,Comment,ProcessiongInstruction,CADTASection或EntityReference</li> </ol> </li> <li>创建文档片段,可以使用document.createDocumentFragment()方法,不需要传参。</li> <li>文档片段继承了Node的所有方法,通常用于执行那些用于针对文档的DOM操作。</li> <li>如果将文档中的节点添加到文档片段中,就会从文档树中删除该节点,也不会在浏览器中看到该节点。添加到文档片段中的新节点同样也不属于文档树。可以通过appendChild()或insertBefore()将文档片段中内容添加到文档树中。在将文档片段作为参数传递给这两个方法时,实际上只会将文档片段的所有子节点添加到相应位置上;文档片段永远不会成为文档树的一部分。</li> <li>假设要为一个<code><ul></code>元素添加列表项,如果逐个添加列表项,将会导致浏览器反复渲染新信息。为避免这个问题,可以先将列表项添加到文档片段中,然后一次性添加到文档中。</li> </ol> </li> <li> <p>Attr类型</p> <ol> <li>元素的特性在DOM以Attr类型表示。在所有浏览器中(包含IE8),都可以访问Attr类型的构造函数和原型。</li> <li>从技术角度看,特性就是存在于元素的attributes属性中的节点。特性节点有以下特征: <ol> <li>nodeType的值为2</li> <li>nodeName的值为特性的名称</li> <li>nodeValue的值为特性的值</li> <li>parentNode的值null</li> <li>在HTML中不支持(无)子节点</li> <li>在XML中子节点可以是text或EntityReference</li> </ol> </li> <li>Attr对象的三个属性: <ol> <li>name 特性名称,与nodeName值相同</li> <li>value 特性的值,与nodeValue值相同</li> <li>specified 布尔值,区别特性是在代码中指定的还是默认的</li> </ol> </li> <li>使用document.createAttribute()并传入特性名称可以创建新的特性节点。</li> <li>将新创建的特性节点添加到元素中,必须使用元素的setAttributeNode()方法。添加特性后,可以通过以下方法来访问特性:attributes属性,getAttributeNode()方法或getAttribute()方法。其中,attributes属性,getAttributeNode()方法都会返回对应特性的节点,getAttribute()方法只会返回特性的值。</li> </ol> </li> <li><p>动态脚本是指页面加载时不存在,但将来的某一时刻通过修改DOM动态添加的脚本。创建的两种方式:插入外部文件和直接插入JavaScript代码。</p></li> <li><p>动态样式是指页面加载时不存在的样式,页面加载完成后动态添加到页面中的。加载外部样式文件的过程时异步的,也就是加载样式和执行JavaScript代码的过程没有固定的次序。</p></li> <li> <p>操作表格</p> <ol> <li>为<code><table></code>添加的属性和方法如下</li> </ol> <table> <thead> <tr> <th style="text-align:center">属性和方法</th> <th style="text-align:center">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">caption</td> <td style="text-align:center">保存着对<code><caption></code>元素(如果有)的指针</td> </tr> <tr> <td style="text-align:center">tBodies</td> <td style="text-align:center">是一个<code><tbody></code>元素的HTMLCollection</td> </tr> <tr> <td style="text-align:center">tFoot</td> <td style="text-align:center">保存着对<code><tfoot></code>元素(如果有)的指针</td> </tr> <tr> <td style="text-align:center">tHead</td> <td style="text-align:center">保存着对<code><thead></code>元素(如果有)的指针</td> </tr> <tr> <td style="text-align:center">rows</td> <td style="text-align:center">是一个表格中所有行的HTMLCollection</td> </tr> <tr> <td style="text-align:center">createTHead</td> <td style="text-align:center">创建<code><thead></code>元素,并将其放入到表格中,返回引用</td> </tr> <tr> <td style="text-align:center">createTFoot</td> <td style="text-align:center">创建<code><tfoot></code>元素,将其放到表格中,返回引用</td> </tr> <tr> <td style="text-align:center">createCaption</td> <td style="text-align:center">创建<code><caption></code>元素,将其放到表格中,返回引用</td> </tr> <tr> <td style="text-align:center">deleteTHead</td> <td style="text-align:center">删除<code><thead></code>元素</td> </tr> <tr> <td style="text-align:center">deleteTFoot</td> <td style="text-align:center">删除<code><tfoot></code>元素</td> </tr> <tr> <td style="text-align:center">deleteCaption</td> <td style="text-align:center">删除<code><caption></code>元素</td> </tr> <tr> <td style="text-align:center">deleteRow(pos)</td> <td style="text-align:center">删除指定位置的行</td> </tr> <tr> <td style="text-align:center">insertRow(pos)</td> <td style="text-align:center">向rows集合中的指定位置插入一行</td> </tr> </tbody> </table> <ol start="2"> <li>为<code><tbody></code>添加的属性和方法如下</li> </ol> <table> <thead> <tr> <th style="text-align:center">属性和方法</th> <th style="text-align:center">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">rows</td> <td style="text-align:center">保存着<code><tbody></code>元素中行的HTMLCollection</td> </tr> <tr> <td style="text-align:center">deleteRow(pos)</td> <td style="text-align:center">删除指定位置的行</td> </tr> <tr> <td style="text-align:center">insertRow(pos)</td> <td style="text-align:center">向rows集合中的指定位置插入一行,返回对新插入行的引用</td> </tr> </tbody> </table> <ol start="3"> <li>为<code><tr></code>添加的属性和方法如下</li> </ol> <table> <thead> <tr> <th style="text-align:center">属性和方法</th> <th style="text-align:center">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">cells</td> <td style="text-align:center">保存着<code><tr></code>元素中单元格的HTMLCollection</td> </tr> <tr> <td style="text-align:center">deleteCell(pos)</td> <td style="text-align:center">删除指定位置的单元格</td> </tr> <tr> <td style="text-align:center">insertCell(pos)</td> <td style="text-align:center">向cells集合中的指定位置插入一个单元格,返回对新插入单元格的</td> </tr> </tbody> </table> </li> <li> <p>使用NodeList</p> <ul> <li>NodeList,NameNodeMap以及HTMLCollection这三个集合都是动态的,即每当文档结构发生变化时,它们都会得到更新。因此,它们始终会保存着最新,最准确的信息。</li> <li>本质上,所有NodeList对象都是在访问DOM文档时实时运行的查询。</li> </ul> </li> </ol> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1702948168951476224"></div> <script type="text/javascript" src="/views/front/js/chanyan.js"></script> <!-- 文章页-底部 动态广告位 --> <div class="youdao-fixed-ad" id="detail_ad_bottom"></div> </div> <div class="col-md-3"> <div class="row" id="ad"> <!-- 文章页-右侧1 动态广告位 --> <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_1"> </div> </div> <!-- 文章页-右侧2 动态广告位 --> <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_2"></div> </div> <!-- 文章页-右侧3 动态广告位 --> <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad"> <div class="youdao-fixed-ad" id="detail_ad_3"></div> </div> </div> </div> </div> </div> </div> <div class="container"> <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(第九章)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835417584032378880.htm" title="道德经第九章" target="_blank">道德经第九章</a> <span class="text-muted">套马地汉纸</span> <div>道德经第9章原文:持而盈之,不如其已;揣而锐之,不可长保。金玉满堂,莫之能守;富贵而骄,自遗其咎。功遂身退,天之道。译文:要求过分圆满,不如适可而止。不停锤打一个(金属)物体想使它尖锐得不再尖锐,那肯定是难保持长久的。金银玉帛满堂,谁又能永远守得住呢?富而又骄傲,一定会给自己留下祸根。功成名就以后,就该收敛退隐,这才符合自然的规律。事物的发展。总是运动变化的,自然界也罢,人世间也罢,欲望也罢,任何</div> </li> <li><a href="/article/1835343686234370048.htm" title="第九章 肿瘤放射治疗" target="_blank">第九章 肿瘤放射治疗</a> <span class="text-muted">晨翕</span> <div>放射物理学:主要研究各种放射源的性能特点、治疗剂量学、质量控制、质量保证及辐射防护等放射生物学:主要研究机体正常组织和肿瘤组织对射线对反应及如何人为地改变这些反应对质和量。放射技术学:主要研究具体运用各种放射源及设备治疗肿瘤患者,包括射野设置、体位固定、定位、摆位操作等技术实施。临床放射肿瘤学:在临床肿瘤学的基础上,研究肿瘤放射治疗的适应证,根据病理、分期、预后确定治疗策略,综合运用放射物理、放射</div> </li> <li><a href="/article/1835205863808266240.htm" title="《顺应心理,轻松度过青春期》——第九章 这样做,青春期孩子更合作(四)" target="_blank">《顺应心理,轻松度过青春期》——第九章 这样做,青春期孩子更合作(四)</a> <span class="text-muted">四月天_丫丫</span> <div>顺应心理,轻松度过青春期》作者:维尼老师第九章这样做,青春期孩子更合作(三)人本主义:相信孩子可以自我成长美国人本主义心理学家罗杰斯的人本主义心理学在家庭教育之中有着广泛的应用。1.依靠孩子自身成长的力量罗杰斯的人本主义心理学在家庭教育之中有一些不错的应用,比如提倡理解孩子,人本主义称之为同感;接纳孩子、接纳自己,也就是人本主义的无条件接纳;沟通时先理解和肯定孩子,人本主义称之为共情;罗杰斯提倡的</div> </li> <li><a href="/article/1834904823200313344.htm" title="【166】资本论-利润转化为平均利润(2)2023-10-28" target="_blank">【166】资本论-利润转化为平均利润(2)2023-10-28</a> <span class="text-muted">杜文硕</span> <div>第九章利润率(平均利润率)的形成和商品价值转化为生产价格资本的有机构成,在任何时候都取决于两种情况:第一,所使用的劳动力和所使用的生产资料量的技术比率;第二,这些生产资料的价格。我们已经知道,资本的有机构成,必须按它的百分比来考察。一个资本的为不变资本,为可变资本,它的有机构成,我们用80c+20v这个公式来表示。其次,在比较时,假定剩余价值率不变,并且可以任意假定这个比率,例如100%。因此,8</div> </li> <li><a href="/article/1834155489471066112.htm" title="日更第61天-麻雀王国第九章田野的泪008" target="_blank">日更第61天-麻雀王国第九章田野的泪008</a> <span class="text-muted">朗月微光</span> <div>三天后,蓝风带部队先行出发,直奔皇宫。彩蝶和蓝雀乘坐飓风,随后带着各大家族的军队出发。在经过双子峰的时候,石人家族加入了远征的队伍,他们的任务不是去打仗,是为了保护彩蝶和蓝雀。月石领着队伍将彩蝶和蓝雀守护在中间。皮球爬上飓风的后背,凑到彩蝶和蓝雀身边,和她们聊起了分别后的事。庞大的队伍穿过飘渺山,度过圣母河,来到清野的边上,已是半个月之后。绿妖和如云带领的先锋队已经和孔雀王国的部队进行了两次交锋,</div> </li> <li><a href="/article/1833555433382572032.htm" title="python编程:从入门到实践--学习笔记--基础知识" target="_blank">python编程:从入门到实践--学习笔记--基础知识</a> <span class="text-muted">123176</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>python编程:从入门到实践--学习笔记--基础知识第二章:变量和简单数据类型第三章:列表简介第四章:操作列表第五章:if语句第六章:字典第七章:用户输入和while循环第八章:函数传递实参第九章:类继承第十章:文件和异常从文件中读取数据写入文件异常存储数据第十一章:测试代码第二章:变量和简单数据类型修改字符串大小:name.title(),name.upper(),name.lower()合并</div> </li> <li><a href="/article/1833551003845226496.htm" title="杏雨海棠 第九章 新媳妇儿的早饭" target="_blank">杏雨海棠 第九章 新媳妇儿的早饭</a> <span class="text-muted">书筱筱</span> <div>原城的新媳妇儿都要经历这样一件事,那就是新婚第二天要早起给公婆做饭,吃了这顿饭,新媳妇儿就正式成为家的一员,要履行起孝敬公婆,操持家务,生儿育女,敬爱丈夫的职责。当你们外婆早上睁开眼睛发现自己一个人在炕上,转头看见你们外公头发衣服乱糟糟地躺在地上,不由地心里一阵愧疚。于是,外婆起床,在外公旁边铺了一床被子,跨过外公,用力将他推到了被子上,然后又拿了一床被子给他盖好。你们外婆说,当时你们外公睡的跟死</div> </li> <li><a href="/article/1833461702167982080.htm" title="第九章 炼药师公会" target="_blank">第九章 炼药师公会</a> <span class="text-muted">温逍遥</span> <div>“砰”一声爆响传来,让所有人目瞪口呆的是,龙尘不知道什么时候,已经出现在李浩的身前,宛如鬼魅,那正是疾风步的效果,速度奇快,尤其近距离爆发,更是让人防不胜防。李浩双爪停在半空,龙尘的一脚狠狠提踢在他的两腿中间,狂暴的力量,将他整个人都踢上了半空。王莽正幻想着李浩如何将龙尘折磨的生不如死呢,但是眼前的一幕,一下子让他目瞪口呆起来。擂台上,李浩死死地捂着自己的裆部,脸色已经抽搐的变形,如果不是先前就用</div> </li> <li><a href="/article/1833329271561613312.htm" title="道德经 第九章 运夷" target="_blank">道德经 第九章 运夷</a> <span class="text-muted">嘟嘟要自立</span> <div>道德经第九章运夷持而盈之,不如其已。揣而锐之,不可长保。金玉满堂,莫之能守。富贵而骄,自遗其咎。功遂身退,天之道。第十章能为载营魄抱一,能无离乎?专气致柔,能如婴儿乎?涤除玄览,能无疵乎?爱民治国,能无为乎?天门开阖,能为雌乎?明白思达,能无知乎?生之、蓄之、生而不有,为而不恃,长而不宰,是谓玄德。</div> </li> <li><a href="/article/1833311372264435712.htm" title="道德经第九章解读" target="_blank">道德经第九章解读</a> <span class="text-muted">三生万物A</span> <div>天道规律:盈满则亏,锐利则挫,不如持平。我们普通人的思维,都是要盈满,要最多,要拔尖,以为这样才好。其实,天道的规律,不是这样的。日中则昃,月盈则亏。老子说:“持而盈之,不如其已。揣而锐之,不可长保。”太阳升到最中央,就会开始西斜;月亮最圆,就会开始变小;持的东西太盈满,就会溢出;尖锐的东西,很难长保。自然界和人事的规律,是一致的。木秀于林,风必摧之;堆出于岸,流必湍之;行高于人,众必非之。一个人</div> </li> <li><a href="/article/1833269181072633856.htm" title="我的习作(98) 共读《随机漫步的傻瓜》10 第九章:买卖证券比煎蛋容易" target="_blank">我的习作(98) 共读《随机漫步的傻瓜》10 第九章:买卖证券比煎蛋容易</a> <span class="text-muted">勇往直前210班</span> <div>1、为什么能力欠佳的经理人中,仍然有少数人的绩效记录很好?因为投资中市场的波动性导致运气占有很大的概率,因此众多差的基金经理中都会有绩效好的。就像有业绩差的4500位经理人第一年获利占45%,第二年45%获利的人是2025位,到第5年获利的人还有184人,占比原始人群约2%,成为人们追逐的明星经理,另外98%的人没人关注,也不会出现。2、原始样本里在其中发挥什么作用?如果样本量足够大,再小概率的事</div> </li> <li><a href="/article/1833078846954500096.htm" title="【设计模式】第四章:原型模式详解及应用案例" target="_blank">【设计模式】第四章:原型模式详解及应用案例</a> <span class="text-muted">Bummon.</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E5%8E%9F%E5%9E%8B%E6%A8%A1%E5%BC%8F/1.htm">原型模式</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>系列文章【设计模式】七大设计原则【设计模式】第一章:单例模式【设计模式】第二章:工厂模式【设计模式】第三章:建造者模式【设计模式】第四章:原型模式【设计模式】第五章:适配器模式【设计模式】第六章:装饰器模式【设计模式】第七章:代理模式【设计模式】第八章:桥接模式【设计模式】第九章:外观模式/门面模式【设计模式】第十章:组合模式【设计模式】第十一章:享元模式【设计模式】第十二章:观察者模式【设计模式</div> </li> <li><a href="/article/1832923073116991488.htm" title="读书笔记8" target="_blank">读书笔记8</a> <span class="text-muted">千羽舟</span> <div>Day8/21【今日读书】《高效能人士的七个习惯》第九章【今日读书时间】21:30-22:10【阅读总结】第九章即第六个习惯,讲的是统合综效,实现创造性合作的原则。与人合作,最重要的不是说服对方按照自己的方式行事,而是重视不同个体的不同心理、情绪与智能,要学会要去判断和尊重差异,取长补短。实现创造性合作,需要双方坦诚相待、互相信赖,接纳不同的想法,同时贡献自己的见地,共同找出第三条创造性的道路,实</div> </li> <li><a href="/article/1832890134031331328.htm" title="Html、Css3动画效果" target="_blank">Html、Css3动画效果</a> <span class="text-muted">蔚一</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>文章目录第九章动画9.1transform动画9.2transition过渡动画9.3定义动画第九章动画9.1transform动画transform2D变形translate():平移函数,基于X、Y坐标重新定位元素的位置scale():缩放函数,可以使任意元素对象尺寸发生变化rotate():旋转函数,取值是一个度数值skew():倾斜函数,取值是一个度数值div{transform:tran</div> </li> <li><a href="/article/1832386832550162432.htm" title="4D习书第九章" target="_blank">4D习书第九章</a> <span class="text-muted">白晓晖</span> <div>1、背景转换工作表CSW,工作表流程帮助转换注意力和心态,从而产生一些原来没有的行动。2、说服客户有效的方法是转变他的思维模式和心态图片发自App</div> </li> <li><a href="/article/1832236817320079360.htm" title="《道德图》系列之六:生" target="_blank">《道德图》系列之六:生</a> <span class="text-muted">琦琦的树洞</span> <div>嗨,欢迎来到琦琦的树洞!这是我在坚持原创文章第8天(第8篇)。如果你喜欢我的原创文章,请记得为我点赞赋能,谢谢。(同名“琦琦的树洞”,可移步订阅号、今日头条关注更多精彩内容哦!)回顾:参透道和名、有和无,这两对本质的关系,就会明白哲学上提到的唯心主义和唯物主义,到底是怎么一回事了,就会对万事万物有一个彻底地观念上的革新。第六章到第九章,我也特别喜欢,分别阐述生-长-收-藏四个不同阶段,今天聊聊“生</div> </li> <li><a href="/article/1832007781876592640.htm" title="第九章 类" target="_blank">第九章 类</a> <span class="text-muted">cyynlaaa</span> <a class="tag" taget="_blank" href="/search/Python%E5%9F%BA%E7%A1%80%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">Python基础学习笔记</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>记住一句话:类是模板,而实例则是根据类创建的对象。我初学时对类的理解是从类的字面上,可以片面的认为它是一个种类,它是相似特征的抽像,也就是相似的东西,可以把相似特征的事务抽象成一个类。(事务可以是具体的物体或行为)以圆为例,圆是具有圆周率(pi)和半径(r)两个相似特征的属性。根据相似特征抽象出圆类,每个圆的半径可以不同,那么半径可以作为圆的实例属性;而每个圆的圆周率pi是相同的,那么圆周率pi就</div> </li> <li><a href="/article/1831859688954753024.htm" title="js红宝书笔记十 第九章 代理与反射" target="_blank">js红宝书笔记十 第九章 代理与反射</a> <span class="text-muted">合肥黑</span> <div>本文继续对JavaScript高级程序设计第四版第九章代理与反射进行学习ECMAScript6新增的代理和反射为开发者提供了拦截并向基本操作嵌入额外行为的能力。具体地说,可以给目标对象定义一个关联的代理对象,而这个代理对象可以作为抽象的目标对象来使用。在对目标对象的各种操作影响目标对象之前,可以在代理对象中对这些操作加以控制。在ES6之前,ECMAScript中并没有类似代理的特性。由于代理是一种</div> </li> <li><a href="/article/1831759462986248192.htm" title="Day19.我的钉钉网络直播课" target="_blank">Day19.我的钉钉网络直播课</a> <span class="text-muted">小新的成长记录</span> <div>今天是忙碌的一天,早晨起来看完第九章技术支持下的学习,便开始准备今天的线上直播课。其实,昨天就对钉钉做了一些学习,如何建群?如何打卡?如何布置作业并对作业进行反馈和统计?如何进行直播?需要哪些工具?但是今天依然是手忙脚乱的。起初我为没有电脑和耳麦而烦恼,到底该如何直播?再加上钉钉直播对于我来说也是一个新技术,人在面对一项新的东西时,除了好奇,也有无尽陌生感和抵触感的,但是在当下疫情蔓延的情势下,新</div> </li> <li><a href="/article/1831743458969219072.htm" title="第九章 “发配”泗交山上的日子(中)" target="_blank">第九章 “发配”泗交山上的日子(中)</a> <span class="text-muted">东方龙刘有龙</span> <div>第九章“发配"泗交山上的日子(中)当然,废寝忘食,夜以继日地苦读钻研没有白费。在县教育局组织的师专涵授入学考试中,我崭露头角,头炮打响。面对考卷上的现代汉语语法,修辞,不在话下;那些令考场上包括泗交高中在内的语文教师,抓腮弄耳的古汉语翻译,实词,虚词,不敢说游刃有余,反正是奋笔疾书,马不停蹄。这不,等我答完卷子,悠闲地点起一支烟时,卷子早已被包括高中的语文教师抢去,慌不迭地伸长脖子竞争抄阅。接过他</div> </li> <li><a href="/article/1831581560869056512.htm" title="rh124第九章知识点问答----白熊的Linux学习之旅12" target="_blank">rh124第九章知识点问答----白熊的Linux学习之旅12</a> <span class="text-muted">白白白白熊爱打APEX</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a> <div>第9章控制服务和守护进程1.守护进程(Daemon)是什么?列举一些常见的守护进程。答:守护进程是执行各种任务的后台等待或运行的进程。一般情况下,守护进程在系统引导时自动启动并持续运行至关机但可手动停止。且守护进程多以d结尾。常见的守护进程有Systemd2.怎么理解systemd.unit?列举一些常用的单元类型。答:systemd.unit是一个抽象的概念,用于定义一类对象,这类对象是系统知道</div> </li> <li><a href="/article/1831086961511723008.htm" title="复仇之刃 | 第九章:虚弱的麦克" target="_blank">复仇之刃 | 第九章:虚弱的麦克</a> <span class="text-muted">风雨_云鹤</span> <div>不知在地板上躺了多久,麦克突然觉得全身一阵发凉,像是一泼冷水浇在了他的头上。他费力地站起身,颤颤巍巍的看向站在远处的乌鸦人。这几次的晕倒使他虚弱不堪,就像是一片纸,轻轻一吹,就能飞走。乌鸦人的脸上,还是那抹邪恶的笑容。那张扭曲的脸,配上一张难看的嘴,样子都没办法形容了。他冷冷地喊:“跟我走!”麦克不想听他的,但一想到如果违抗他的命令,就会看不见光明,只好不得不跟他走。穿过长廊,走过石板路,进入了大</div> </li> <li><a href="/article/1831064808263348224.htm" title="第九章 沉睡的公鸡 9.9" target="_blank">第九章 沉睡的公鸡 9.9</a> <span class="text-muted">東疯破</span> <div>黄昏的时候,阿七又来到绑湘勇的大树这里,之前那个被咬的湘勇,也已经有点神志不清了,被咬的地方已经没有流血了,手臂周边变成了黑色,血管也有些凸起,瞳孔里面也失去了光泽,给人一种恐怖的眼神,之前还大喊大叫的,现在只是发出一阵阵低沉的嘶吼声,看来病毒已经扩散了,阿七来到另一颗树,观察之前那个被咬的湘勇,经过长时间的摩擦,绳子都有些松动了,血已经浸透了麻绳,阿七连忙叫人加固绳索,这玩意要是被他挣脱了,又要</div> </li> <li><a href="/article/1830856750203498496.htm" title="放下手机去读书,立志读书100篇(54~56)" target="_blank">放下手机去读书,立志读书100篇(54~56)</a> <span class="text-muted">追梦蜂</span> <div>今天读书三篇,《爱的五种能力》第九章读完。书犹药也,善读可以医愚。读书改变命运。蜂采百花酿甜蜜,人读群书明真理。书是人类的精神食粮。吃饭长身体,读书养精神。读书犹如每天吃面包,喝牛奶一样,对人的精神世界的建设不可或缺。</div> </li> <li><a href="/article/1830821631048642560.htm" title="通过包子铺,看价值投资中的4个基本条件和3种退出情况" target="_blank">通过包子铺,看价值投资中的4个基本条件和3种退出情况</a> <span class="text-muted">LawrenceS禹</span> <div>读邱国鹭先生《投资中最简单的事》第九章有感,部分理念借鉴齐俊杰老师《老齐的读书圈》的内容,结合我自己对投资的一些通俗的看法。举个例子通俗易懂地聊一聊价值投资这个话题。价值投资和包子铺所谓的价值投资,就是当股票价格低于公司内在价值时买入,当股票价格高于公司内在价值时卖出。股票价格都看得懂,但是最难的是价值如何算,这篇不讨论价值,也不可能聊明白。我就假设一家上市的包子铺,现在价格是100万,一年稳定赚</div> </li> <li><a href="/article/1830637408555724800.htm" title="《天外寒水》第九章皇城相府(侠之梦11)" target="_blank">《天外寒水》第九章皇城相府(侠之梦11)</a> <span class="text-muted">鹰之秀</span> <div>《天外寒水》第九章皇城相府——鹰之秀(九)丞相府。回府的张伦径直来到了正堂,两首的江湖人士纷纷唱喏见礼。张伦四十来岁年纪,中等身材,孤拐脸,面黄少须,双眸闪烁活泛,他向厅堂左右瞥了一瞥,抬手一应,旋身坐在了正首的太师椅上。张伦一招手,后边的侍从鱼贯而入,抬出了数十担亮灿灿的黄金置于厅堂之上,顿时间满堂生辉。众江湖人士眼界大开惊叹万分,纷纷低声窃语。张伦扫了一眼铁柱上所绑的谢荣,慢吞吞地道:“大哥,</div> </li> <li><a href="/article/1830531183625203712.htm" title="计算机三级数据库---基础篇" target="_blank">计算机三级数据库---基础篇</a> <span class="text-muted">沐硕</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>适合考前14天以上的小伙伴按照以下章节进行详细学习第一章数据库应用系统开发方法选择题第二章需求分析选择题第三章数据库结构设计(自底向上)选择题第四章数据库应用系统功能设计与实现选择题第五章UML与数据库应用系统填空+选择第六章高级数据查询填空题第七章数据库及数据库对象大题第八章数据库后台编程技术填空题第九章安全管理选择题第十章数据库运行维护与优化填空+选择第十一章故障管理选择题第十二章备份与恢复数</div> </li> <li><a href="/article/1830298012363091968.htm" title="第九章 疯狂Caché 宏和宏预处理器(二)" target="_blank">第九章 疯狂Caché 宏和宏预处理器(二)</a> <span class="text-muted">Cache技术分享</span> <div>#EndIf#EndIf预处理器指令结束一组预处理器条件。它可以跟在#IfDef、#IfUnDef、#If、#ElseI和#Else之后。它的形式是:。//指定条件开始的#IfDef、#If或#Else//指定操作的后续缩进行#EndIf#EndIf指令关键字应该单独出现在一行中。同一行中#EndIf后面的任何内容都被视为注释,不会进行解析。#Execute#EXECUTE预处理器指令在编译时执行</div> </li> <li><a href="/article/1829993718061559808.htm" title="代码随想录算法训练营day55|第九章 动态规划part16" target="_blank">代码随想录算法训练营day55|第九章 动态规划part16</a> <span class="text-muted">.wsy.</span> <a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81%E9%9A%8F%E6%83%B3%E5%BD%95%E8%AE%AD%E7%BB%83%E8%90%A5/1.htm">代码随想录训练营</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92/1.htm">动态规划</a> <div>目录583.两个字符串的删除操作72.编辑距离编辑距离总结篇判断子序列不同的子序列两个字符串的删除操作编辑距离583.两个字符串的删除操作本题和动态规划:115.不同的子序列相比,其实就是两个字符串都可以删除了,情况虽说复杂一些,但整体思路是不变的。代码随想录dp[i][j]是以i-1为结尾的字符串word1,和以j-1位结尾的字符串word2,想要达到相等,所需要删除元素的最少次数。这道题有两种</div> </li> <li><a href="/article/1829804224305786880.htm" title="申命记第九章《得恩不是我们的义》" target="_blank">申命记第九章《得恩不是我们的义》</a> <span class="text-muted">爱的承诺_4192</span> <div>申命记9章读经【申9:4】耶和华你的神将这些国民从你面前撵出以后,你心里不可说,耶和华将我领进来得这地是因我的义。其实,耶和华将他们从你面前赶出去是因他们的恶。【申9:5】你进去得他们的地,并不是因你的义,也不是因你心里正直,乃是因这些国民的恶,耶和华你的神将他们从你面前赶出去,又因耶和华要坚定他向你列祖亚伯拉罕,以撒,雅各起誓所应许的话。思考应用(一)思考1.以色列过约旦河赶出强大的民是谁的作为</div> </li> <li><a href="/article/76.htm" title="遍历dom 并且存储(将每一层的DOM元素存在数组中)" target="_blank">遍历dom 并且存储(将每一层的DOM元素存在数组中)</a> <span class="text-muted">换个号韩国红果果</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a> <div>数组从0开始!! var a=[],i=0; for(var j=0;j<30;j++){ a[j]=[];//数组里套数组,且第i层存储在第a[i]中 } function walkDOM(n){ do{ if(n.nodeType!==3)//筛选去除#text类型 a[i].push(n); //con</div> </li> <li><a href="/article/203.htm" title="Android+Jquery Mobile学习系列(9)-总结和代码分享" target="_blank">Android+Jquery Mobile学习系列(9)-总结和代码分享</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/JQuery+Mobile/1.htm">JQuery Mobile</a> <div>目录导航   经过一个多月的边学习边练手,学会了Android基于Web开发的毛皮,其实开发过程中用Android原生API不是很多,更多的是HTML/Javascript/Css。   个人觉得基于WebView的Jquery Mobile开发有以下优点: 1、对于刚从Java Web转型过来的同学非常适合,只要懂得HTML开发就可以上手做事。 2、jquerym</div> </li> <li><a href="/article/330.htm" title="impala参考资料" target="_blank">impala参考资料</a> <span class="text-muted">dayutianfei</span> <a class="tag" taget="_blank" href="/search/impala/1.htm">impala</a> <div>记录一些有用的Impala资料   1. 入门资料 >>官网翻译:     http://my.oschina.net/weiqingbin/blog?catalog=423691   2. 实用进阶 >>代码&架构分析:     Impala/Hive现状分析与前景展望:http</div> </li> <li><a href="/article/457.htm" title="JAVA 静态变量与非静态变量初始化顺序之新解" target="_blank">JAVA 静态变量与非静态变量初始化顺序之新解</a> <span class="text-muted">周凡杨</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%9D%99%E6%80%81/1.htm">静态</a><a class="tag" taget="_blank" href="/search/%E9%9D%9E%E9%9D%99%E6%80%81/1.htm">非静态</a><a class="tag" taget="_blank" href="/search/%E9%A1%BA%E5%BA%8F/1.htm">顺序</a> <div>今天和同事争论一问题,关于静态变量与非静态变量的初始化顺序,谁先谁后,最终想整理出来!测试代码: import java.util.Map; public class T { public static T t = new T(); private Map map = new HashMap(); public T(){ System.out.println(&quo</div> </li> <li><a href="/article/584.htm" title="跳出iframe返回外层页面" target="_blank">跳出iframe返回外层页面</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/iframe/1.htm">iframe</a> <div>在web开发过程中难免要用到iframe,但当连接超时或跳转到公共页面时就会出现超时页面显示在iframe中,这时我们就需要跳出这个iframe到达一个公共页面去。 首先跳转到一个中间页,这个页面用于判断是否在iframe中,在页面加载的过程中调用如下代码: <script type="text/javascript"> //<!-- function</div> </li> <li><a href="/article/711.htm" title="JAVA多线程监听JMS、MQ队列" target="_blank">JAVA多线程监听JMS、MQ队列</a> <span class="text-muted">510888780</span> <a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a> <div>背景:消息队列中有非常多的消息需要处理,并且监听器onMessage()方法中的业务逻辑也相对比较复杂,为了加快队列消息的读取、处理速度。可以通过加快读取速度和加快处理速度来考虑。因此从这两个方面都使用多线程来处理。对于消息处理的业务处理逻辑用线程池来做。对于加快消息监听读取速度可以使用1.使用多个监听器监听一个队列;2.使用一个监听器开启多线程监听。 对于上面提到的方法2使用一个监听器开启多线</div> </li> <li><a href="/article/838.htm" title="第一个SpringMvc例子" target="_blank">第一个SpringMvc例子</a> <span class="text-muted">布衣凌宇</span> <a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a> <div>第一步:导入需要的包; 第二步:配置web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi=</div> </li> <li><a href="/article/965.htm" title="我的spring学习笔记15-容器扩展点之PropertyOverrideConfigurer" target="_blank">我的spring学习笔记15-容器扩展点之PropertyOverrideConfigurer</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/Spring3/1.htm">Spring3</a> <div>PropertyOverrideConfigurer类似于PropertyPlaceholderConfigurer,但是与后者相比,前者对于bean属性可以有缺省值或者根本没有值。也就是说如果properties文件中没有某个bean属性的内容,那么将使用上下文(配置的xml文件)中相应定义的值。如果properties文件中有bean属性的内容,那么就用properties文件中的值来代替上下</div> </li> <li><a href="/article/1092.htm" title="通过XSD验证XML" target="_blank">通过XSD验证XML</a> <span class="text-muted">antlove</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/schema/1.htm">schema</a><a class="tag" taget="_blank" href="/search/xsd/1.htm">xsd</a><a class="tag" taget="_blank" href="/search/validation/1.htm">validation</a><a class="tag" taget="_blank" href="/search/SchemaFactory/1.htm">SchemaFactory</a> <div>1. XmlValidation.java package xml.validation; import java.io.InputStream; import javax.xml.XMLConstants; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schem</div> </li> <li><a href="/article/1219.htm" title="文本流与字符集" target="_blank">文本流与字符集</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/PrintWrite%28%29%E7%9A%84%E4%BD%BF%E7%94%A8/1.htm">PrintWrite()的使用</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E9%9B%86%E5%90%8D%E5%AD%97+%E5%88%AB%E5%90%8D%E8%8E%B7%E5%8F%96/1.htm">字符集名字 别名获取</a> <div>文本数据的输入输出;           输入;数据流,缓冲流         输出;介绍向文本打印格式化的输出PrintWrite();   package 文本流; import java.io.FileNotFound</div> </li> <li><a href="/article/1346.htm" title="ibatis模糊查询sqlmap-mapping-**.xml配置" target="_blank">ibatis模糊查询sqlmap-mapping-**.xml配置</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a> <div>        正常我们写ibatis的sqlmap-mapping-*.xml文件时,传入的参数都用##标识,如下所示: <resultMap id="personInfo" class="com.bijian.study.dto.PersonDTO"> <res</div> </li> <li><a href="/article/1473.htm" title="java jvm常用命令工具——jdb命令(The Java Debugger)" target="_blank">java jvm常用命令工具——jdb命令(The Java Debugger)</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jdb/1.htm">jdb</a> <div>        用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常相似,但 jdb是专门用来针对Java应用程序的。         现在应该说日常的开发中很少用到JDB了,因为现在的IDE已经帮我们封装好了,如使用ECLI</div> </li> <li><a href="/article/1600.htm" title="【Spring框架二】Spring常用注解之Component、Repository、Service和Controller注解" target="_blank">【Spring框架二】Spring常用注解之Component、Repository、Service和Controller注解</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/controller/1.htm">controller</a> <div>在Spring常用注解第一步部分【Spring框架一】Spring常用注解之Autowired和Resource注解(http://bit1129.iteye.com/blog/2114084)中介绍了Autowired和Resource两个注解的功能,它们用于将依赖根据名称或者类型进行自动的注入,这简化了在XML中,依赖注入部分的XML的编写,但是UserDao和UserService两个bea</div> </li> <li><a href="/article/1727.htm" title="cxf wsdl2java生成代码super出错,构造函数不匹配" target="_blank">cxf wsdl2java生成代码super出错,构造函数不匹配</a> <span class="text-muted">bitray</span> <a class="tag" taget="_blank" href="/search/super/1.htm">super</a> <div>    由于过去对于soap协议的cxf接触的不是很多,所以遇到了也是迷糊了一会.后来经过查找资料才得以解决. 初始原因一般是由于jaxws2.2规范和jdk6及以上不兼容导致的.所以要强制降为jaxws2.1进行编译生成.我们需要少量的修改: 我们原来的代码 wsdl2java com.test.xxx -client http://..... 修改后的代</div> </li> <li><a href="/article/1854.htm" title="动态页面正文部分中文乱码排障一例" target="_blank">动态页面正文部分中文乱码排障一例</a> <span class="text-muted">ronin47</span> <div>公司网站一部分动态页面,早先使用apache+resin的架构运行,考虑到高并发访问下的响应性能问题,在前不久逐步开始用nginx替换掉了apache。 不过随后发现了一个问题,随意进入某一有分页的网页,第一页是正常的(因为静态化过了);点“下一页”,出来的页面两边正常,中间部分的标题、关键字等也正常,唯独每个标题下的正文无法正常显示。 因为有做过系统调整,所以第一反应就是新上</div> </li> <li><a href="/article/1981.htm" title="java-54- 调整数组顺序使奇数位于偶数前面" target="_blank">java-54- 调整数组顺序使奇数位于偶数前面</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> import java.util.Arrays; import java.util.Random; import ljn.help.Helper; public class OddBeforeEven { /** * Q 54 调整数组顺序使奇数位于偶数前面 * 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半</div> </li> <li><a href="/article/2108.htm" title="从100PV到1亿级PV网站架构演变" target="_blank">从100PV到1亿级PV网站架构演变</a> <span class="text-muted">cfyme</span> <a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%AB%99%E6%9E%B6%E6%9E%84/1.htm">网站架构</a> <div>一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。 1:积累是必不可少的 架构师不是一天练成的。 1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布局,一个DB连接,几行PHP的代码嵌入在HTM</div> </li> <li><a href="/article/2235.htm" title="[宇宙时代]宇宙时代的GIS是什么?" target="_blank">[宇宙时代]宇宙时代的GIS是什么?</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/Gis/1.htm">Gis</a> <div>        我们都知道一个事实,在行星内部的时候,因为地理信息的坐标都是相对固定的,所以我们获取一组GIS数据之后,就可以存储到硬盘中,长久使用。。。但是,请注意,这种经验在宇宙时代是不能够被继续使用的          宇宙是一个高维时空</div> </li> <li><a href="/article/2362.htm" title="详解create database命令" target="_blank">详解create database命令</a> <span class="text-muted">czmmiao</span> <a class="tag" taget="_blank" href="/search/database/1.htm">database</a> <div>完整命令 CREATE DATABASE mynewdb   USER SYS IDENTIFIED BY sys_password   USER SYSTEM IDENTIFIED BY system_password   LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/m</div> </li> <li><a href="/article/2489.htm" title="几句不中听却不得不认可的话" target="_blank">几句不中听却不得不认可的话</a> <span class="text-muted">datageek</span> <div>1、人丑就该多读书。 2、你不快乐是因为:你可以像猪一样懒,却无法像只猪一样懒得心安理得。 3、如果你太在意别人的看法,那么你的生活将变成一件裤衩,别人放什么屁,你都得接着。 4、你的问题主要在于:读书不多而买书太多,读书太少又特爱思考,还他妈话痨。 5、与禽兽搏斗的三种结局:(1)、赢了,比禽兽还禽兽。(2)、输了,禽兽不如。(3)、平了,跟禽兽没两样。结论:选择正确的对手很重要。 6</div> </li> <li><a href="/article/2616.htm" title="1 14:00 PHP中的“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误" target="_blank">1 14:00 PHP中的“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a> <div>原文地址:http://www.kafka0102.com/2010/08/281.html   因为需要,今天晚些在本机使用PHP做些测试,PHP脚本依赖了一堆我也不清楚做什么用的库。结果一跑起来,就报出类似下面的错误:“Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/kafka/test/</div> </li> <li><a href="/article/2743.htm" title="xcode6 Auto layout and size classes" target="_blank">xcode6 Auto layout and size classes</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a> <div>官方GUI   https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html   iOS中使用自动布局(一)   http://www.cocoachina.com/ind</div> </li> <li><a href="/article/2870.htm" title="通过PreparedStatement批量执行sql语句【sql语句相同,值不同】" target="_blank">通过PreparedStatement批量执行sql语句【sql语句相同,值不同】</a> <span class="text-muted">梦见x光</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1/1.htm">事务</a><a class="tag" taget="_blank" href="/search/%E6%89%B9%E9%87%8F%E6%89%A7%E8%A1%8C/1.htm">批量执行</a> <div>比如说:我有一个List需要添加到数据库中,那么我该如何通过PreparedStatement来操作呢? public void addCustomerByCommit(Connection conn , List<Customer> customerList) {    String sql = "inseret into customer(id </div> </li> <li><a href="/article/2997.htm" title="程序员必知必会----linux常用命令之十【系统相关】" target="_blank">程序员必知必会----linux常用命令之十【系统相关】</a> <span class="text-muted">hanqunfeng</span> <a class="tag" taget="_blank" href="/search/Linux%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/1.htm">Linux常用命令</a> <div>一.linux快捷键 Ctrl+C : 终止当前命令 Ctrl+S : 暂停屏幕输出 Ctrl+Q : 恢复屏幕输出 Ctrl+U : 删除当前行光标前的所有字符 Ctrl+Z : 挂起当前正在执行的进程 Ctrl+L : 清除终端屏幕,相当于clear   二.终端命令 clear : 清除终端屏幕 reset : 重置视窗,当屏幕编码混乱时使用 time com</div> </li> <li><a href="/article/3124.htm" title="NGINX" target="_blank">NGINX</a> <span class="text-muted">IXHONG</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>pcre 编译安装 nginx conf/vhost/test.conf   upstream admin { server 127.0.0.1:8080; }   server {                 listen       80; &</div> </li> <li><a href="/article/3251.htm" title="设计模式--工厂模式" target="_blank">设计模式--工厂模式</a> <span class="text-muted">kerryg</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>工厂方式模式分为三种:   1、普通工厂模式:建立一个工厂类,对实现了同一个接口的一些类进行实例的创建。   2、多个工厂方法的模式:就是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式就是提供多个工厂方法,分别创建对象。   3、静态工厂方法模式:就是将上面的多个工厂方法模式里的方法置为静态,</div> </li> <li><a href="/article/3378.htm" title="Spring InitializingBean/init-method和DisposableBean/destroy-method" target="_blank">Spring InitializingBean/init-method和DisposableBean/destroy-method</a> <span class="text-muted">mx_xiehd</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a> <div>1.initializingBean/init-method 实现org.springframework.beans.factory.InitializingBean接口允许一个bean在它的所有必须属性被BeanFactory设置后,来执行初始化的工作,InitialzingBean仅仅指定了一个方法。 通常InitializingBean接口的使用是能够被避免的,(不鼓励使用,因为没有必要</div> </li> <li><a href="/article/3505.htm" title="解决Centos下vim粘贴内容格式混乱问题" target="_blank">解决Centos下vim粘贴内容格式混乱问题</a> <span class="text-muted">qindongliang1922</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a> <div> 有时候,我们在向vim打开的一个xml,或者任意文件中,拷贝粘贴的代码时,格式莫名其毛的就混乱了,然后自己一个个再重新,把格式排列好,非常耗时,而且很不爽,那么有没有办法避免呢? 答案是肯定的,设置下缩进格式就可以了,非常简单: 在用户的根目录下 直接vi  ~/.vimrc文件 然后将set pastetoggle=<F9> 写入这个文件中,保存退出,重新登录,</div> </li> <li><a href="/article/3632.htm" title="netty大并发请求问题" target="_blank">netty大并发请求问题</a> <span class="text-muted">tianzhihehe</span> <a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a> <div>多线程并发使用同一个channel java.nio.BufferOverflowException: null at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:183) ~[na:1.7.0_60-ea] at java.nio.ByteBuffer.put(ByteBuffer.java:832) ~[na:1.7.0_60-ea] </div> </li> <li><a href="/article/3759.htm" title="Hadoop NameNode单点问题解决方案之一 AvatarNode" target="_blank">Hadoop NameNode单点问题解决方案之一 AvatarNode</a> <span class="text-muted">wyz2009107220</span> <a class="tag" taget="_blank" href="/search/NameNode/1.htm">NameNode</a> <div>我们遇到的情况 Hadoop NameNode存在单点问题。这个问题会影响分布式平台24*7运行。先说说我们的情况吧。 我们的团队负责管理一个1200节点的集群(总大小12PB),目前是运行版本为Hadoop 0.20,transaction logs写入一个共享的NFS filer(注:NetApp NFS Filer)。 经常遇到需要中断服务的问题是给hadoop打补丁。 DataNod</div> </li> </ul> </div> </div> </div> <div> <div class="container"> <div class="indexes"> <strong>按字母分类:</strong> <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a> </div> </div> </div> <footer id="footer" class="mb30 mt30"> <div class="container"> <div class="footBglm"> <a target="_blank" href="/">首页</a> - <a target="_blank" href="/custom/about.htm">关于我们</a> - <a target="_blank" href="/search/Java/1.htm">站内搜索</a> - <a target="_blank" href="/sitemap.txt">Sitemap</a> - <a target="_blank" href="/custom/delete.htm">侵权投诉</a> </div> <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved. <!-- <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>--> </div> </div> </footer> <!-- 代码高亮 --> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script> <script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script> <link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/> <script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script> </body> </html>