整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          HTML DOM Body 對象

          HTML DOM Body 對象

          Body 對象

          Body 對象代表了 HTML body 元素。

          Body 對象代表文檔的主體 (HTML body) 。

          body 元素包含了所有的 HTML 文檔,如文本,超級鏈接,圖片,表格,列表,等等。

          Body 對象屬性

          W3C: W3C 標準。

          屬性描述W3C
          aLink設置或者返回主體元素的 alink 屬性。Yes
          background設置或者返回body元素的 background 屬性。Yes
          bgColor設置或者返回body元素的 bgColor 屬性。Yes
          link設置或者返回主體元素的 link 屬性。Yes
          text設置或者返回主體元素的 text 屬性。Yes
          vLink設置或者返回主體元素的 vLink 屬性。Yes

          Body 對象事件

          事件描述W3C
          onload腳本在頁面完全載入后會被立即執行。Yes

          標準屬性和事件

          Body 對象同樣支持標準的 屬性 和 事件。

          如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!

          么是內置對象呢???內置對象,其實就是JSP中已經給我們提供好的一些Java對象,我們可以直接在JSP頁面里面使用這些內置對象,而不需要我們自己去創建。JSP里面提供了9個內置對象,分別是:request、response、session、application、out、config、pageContext、page、exception。這一小節我們就來逐個介紹一下內置對象的用法。

          1.1、內置對象的本質

          內置對象本質上就是JSP文件編譯成Servlet程序之后,在_jspService()方法中創建好的一些java對象,這些對象我們可以直接在JSP頁面使用。查看JSP文件編譯之后的源代碼文件如下所示:

          public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
              throws java.io.IOException, javax.servlet.ServletException {
          
            final java.lang.String _jspx_method=request.getMethod();
            if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method) && !javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
              response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSP 只允許 GET、POST 或 HEAD。Jasper 還允許 OPTIONS");
              return;
            }
          
            final javax.servlet.jsp.PageContext pageContext;
            javax.servlet.http.HttpSession session=null;
            final javax.servlet.ServletContext application;
            final javax.servlet.ServletConfig config;
            javax.servlet.jsp.JspWriter out=null;
            final java.lang.Object page=this;
            javax.servlet.jsp.JspWriter _jspx_out=null;
            javax.servlet.jsp.PageContext _jspx_page_context=null;
          
          
            try {
              response.setContentType("text/html;charset=UTF-8");
              pageContext=_jspxFactory.getPageContext(this, request, response,
              			null, true, 8192, true);
              _jspx_page_context=pageContext;
              application=pageContext.getServletContext();
              config=pageContext.getServletConfig();
              session=pageContext.getSession();
              out=pageContext.getOut();
              _jspx_out=out;
          
              out.write("\r\n");
              out.write("<html>\r\n");
              out.write("<head>\r\n");
              out.write("  <title>JSP內置對象response</title>\r\n");
              out.write("</head>\r\n");
              out.write("<body>\r\n");
              out.write("  <h3>JSP內置對象response</h3>\r\n");
              out.write("  ");
          
            // 在JSP里面,可以直接使用 response 這個內置對象進行操作
            response.sendRedirect("https://www.baidu.com");
          
              out.write("\r\n");
              out.write("</body>\r\n");
              out.write("</html>\r\n");
            } catch (java.lang.Throwable t) {
              if (!(t instanceof javax.servlet.jsp.SkipPageException)){
                out=_jspx_out;
                if (out !=null && out.getBufferSize() !=0)
                  try {
                    if (response.isCommitted()) {
                      out.flush();
                    } else {
                      out.clearBuffer();
                    }
                  } catch (java.io.IOException e) {}
                if (_jspx_page_context !=null) _jspx_page_context.handlePageException(t);
                else throw new ServletException(t);
              }
            } finally {
              _jspxFactory.releasePageContext(_jspx_page_context);
            }
          }

          通過上面的源代碼可以看到,源代碼中有下圖幾個內置對象。

          1.2、內置對象的使用

          這里我們就開始介紹一下request、response、session、application、out、config、pageContext、page、exception九個內置對象的具體使用。

          (1)request

          request對象,是一個HttpServletRequest的請求對象,使用request對象可以獲取到當前HTTP請求中的信息。

          <%@ page contentType="text/html;charset=UTF-8" language="java" %>
          <html>
          <head>
              <title>JSP內置對象request</title>
          </head>
          <body>
              <h3>JSP內置對象request</h3>
              <%
                  // 在JSP里面,可以直接使用 request 這個內置對象進行操作
                  String username=request.getParameter("username");
                  System.out.println(username);
              %>
          </body>
          </html>

          request請求對象中的常用方法,可以看下我之前寫的Servlet筆記

          (2)response

          response對象,是一個HttpServletResponse響應對象,使用response響應對象可以獲取到HTTP響應中的一些信息。

          <%@ page contentType="text/html;charset=UTF-8" language="java" %>
          <html>
          <head>
            <title>JSP內置對象response</title>
          </head>
          <body>
            <h3>JSP內置對象response</h3>
            <%
              // 在JSP里面,可以直接使用 response 這個內置對象進行操作
              response.sendRedirect("https://www.baidu.com");
            %>
          </body>
          </html>

          response響應對象中的常用方法,可以看下我之前寫的Servlet筆記

          request和response對象是在_jspService()方法參數中的,如下圖所示:

          (3)session

          session對象,是一個HttpSession會話對象,可以獲取到當前Session會話信息。

          <%@ page contentType="text/html;charset=UTF-8" language="java" %>
          <html>
          <head>
              <title>JSP內置對象session</title>
          </head>
          <body>
          <h3>JSP內置對象session</h3>
          <%
              // 在JSP里面,可以直接使用 session 這個內置對象進行操作
              session.setAttribute("username", "IDEA");
          %>
          </body>
          </html>

          session對象是在JSP文件編譯之后創建的,如下圖所示:

          (4)application

          application對象,其實就是我們之前學習的ServletContext上下文對象,只不過在JSP里面,它將這個變量名稱定義成了application,用法和ServletContext上下文對象是一致的。

          案例代碼:

          <%@ page contentType="text/html;charset=UTF-8" language="java" %>
          <html>
          <head>
              <title>JSP內置對象application</title>
          </head>
          <body>
          <h3>JSP內置對象application</h3>
          <%
              // 在JSP里面,可以直接使用 application 這個內置對象進行操作
              application.setAttribute("username", "IDEA");
          %>
          </body>
          </html>

          這一小節就先介紹前4個內置對象的使用。

          今天就到這里,未完待續~~

          家好,我是IT共享者,人稱皮皮。

          前言

          相信做網站對JavaScript再熟悉不過了,它是一門腳本語言,不同于Python的是,它是一門瀏覽器腳本語言,而Python則是服務器腳本語言,我們不光要會Python,還要會JavaScript,因為它對做網頁方面是有很大作用的。


          1.文檔對象(DOM)

          1).Document對象

          這是我們用的最普遍的一個文檔對象了,專門用來操作DOM節點時用。

          1)).獲取元素

          document.getElementById()           #通過id查找HTML元素
          document.getElementsByName()        #通過name查找HTML元素
          document.getElementsByTagName()     #通過標簽名查找HTML元素
          document.getElementsByClassName()   #通過類名查找HTML元素 
          document.querySelector(".h")        #第一個類名為 "h" 的元素
          document.querySelectorAll("div.no, div#h") #所有class為"no"或者id為"h"的div元素
          document.body          #獲取body標簽
          document.documentElement   #獲取html標簽

          2)).獲取網頁內容

          document.cookie        #網頁cookie
          document.domain        #文檔的域名
          document.lastModified  #文檔被最后修改的日期和時間
          document.referrer      #載入當前文檔的文檔的URL
          document.title         #當前文檔的標題
          document.URL           #當前文檔的URL
          document.doctype       #當前文檔的doctype
          document.baseURI       #當前文檔的絕對URI
          document.documentMode   #瀏覽器使用的模式
          document.documentURI    #文檔的URI
          document.implementation #DOM實現
          document.inputEncoding  #文檔的編碼(字符集)
          document.readyState     #文檔的(加載)狀態
          document.strictErrorChecking    #是否強制執行錯誤檢查

          3)).文檔寫入

          document.write('hello world')   向文檔寫入文本
          document.writeln('hello world') 向文檔寫入文本并換行

          4)).獲取集合

          document.all        #所有html元素
          document.anchors    #所有Anchor引用
          document.forms      #所有的表單引用
          document.images     #所有的圖片引用
          document.links      #所有的超鏈接引用
          document.scripts    #所有的腳本引用
          document.embeds     #所有的流媒體引用

          5)).獲取節點

          childNodes          #獲取子節點的集合 ,返回數組 ,并把換行和空格也當成是節點信息。
          children            #獲取子節點的集合 ,返回數組   
          firstChild          #獲取第一個子元素  并把換行和空格也當成是節點信息
          firstElementChild   #獲取第一個子節點
          lastChild           #獲取最后一個子節點 并把換行和空格也當成是節點信息
          lastElementChild    #獲取最后一個子節點
          parentNode          #獲取父節點
          parentElement       #獲取父節點(IE)
          offsetParent        #獲取所有父節點  對應的值是body下的所有節點信息
          previousSibling         #獲取上一個兄弟節點  匹配字符,包括換行和空格,而不是節點
          previousElementSibling  #獲取上一個兄弟節點  直接匹配節點
          nextSibling             #獲取下一個兄弟節點  匹配字符,包括換行和空格,而不是節點
          nextElementSibling      #獲取下一個兄弟節點  直接匹配節點
          ownerDocument           #元素的根節點

          這里我們獲取到了所有的Div元素,我們可以針對性的獲取一個ID下的Div的子元素以及它的兄弟和父,子元素,如下:

          6)).創建節點

          我們可以自定義節點并添加值,不過要將它添加到文檔中去,所以必須添加節點,一般和下方的增加節點配套使用。

          document.createElement(標簽)  #創建HTML元素
          document.createTextNode(文本) #給文檔添加文本
          document.createComment(文本)  #創建一個注釋節點
          document.createDocumentFragment() #創建文檔粉碎節點

          7)).增加節點

          appendChild(節點) #節點被添加到元素的末尾
          insertBefore(a,b) #a節點會插入b節點的前面

          8)).刪除節點

          removeChild(節點名)  #被移除的節點仍在文檔中,只是文檔中已沒有其位置了

          9)).替換節點

          replaceChild(插入的節點,被替換的節點)

          10)).復制節點

          a.cloneChild() #復制a節點,復制出來的節點作為返回值為true時,則a元素后代也一并復制。否則,僅復制a元素本身

          11)).節點屬性

          #節點類型 nodeType 有三種情況
          #1.元素節點  2.屬性節點  3.文本節點
          
          
          #節點名稱 nodeName 
          
          
          #節點值 nodeValue 
          #元素節點沒節點值,為null 
          #文本節點的節點值就是文本
          #屬性節點的節點值就是該屬性值
          
          
          #節點屬性獲取
          a.width
          a['width']
          a.gerAttribute(屬性名)  返回指定的屬性值
          a.gerAttributeNode(屬性名) 返回指定的屬性節點
          節點屬性設置
          a.width=400
          a['width']=400
          a.attributes['width']=400
          a.setAttribute('width',400) 添加指定的屬性
          a.setAttributeNode(b) 添加指定的屬性節點
          
          
          #節點屬性刪除
          a.removeChild(子節點)    從元素中移除子節點
          a.removeAttribute(屬性)  從元素中移除指定屬性
          a.removeAttributeNode(屬性) 移除指定的屬性節點,并返回被移除的節點
          
          
          a.id 獲取當前元素的id
          a.className  獲取當前元素的class
          a.classList  獲取當前元素的class列表
          
          
          a.accessKey='w'    設置或返回元素的快捷鍵
          a.namespaceURI     返回指定節點的命名空間的 URI
          a.dir              設置或返回元素的內容是否可編輯
          a.normalize()      合并元素中相鄰的文本節點,并移除空的文本節點
          a.tabIndex='3'     設置或返回元素的tab鍵控制次序
          a.tagName          返回元素的標簽名
          a.textContent      設置或返回節點及其子代的文本內容
          a.title            設置或返回元素的標題屬性
          a.item(num)        返回節點列表中位于指定下標的節點
          a.length           返回節點列表中的節點數

          12)).獲取元素文本

          a.innerHTML  獲取或者設置對象內的HTML
          a.innerText  獲取或者設置對象內的文本
          a.outerHTML  獲取或者設置對象外的HTML
          a.outerText  獲取或者設置對象外的文本
          a.value      獲取或者設置表單元素的值


          總結

          這篇文章主要介紹了JavaScript的文檔對象。下一篇文章,我們繼續介紹JavaScript,敬請期待!


          主站蜘蛛池模板: 久久精品国产一区二区三| 久久久久国产一区二区三区| 99久久精品国产免看国产一区| 亚洲日韩激情无码一区| 国产精品一区二区AV麻豆| 亚洲av午夜福利精品一区人妖| 色多多免费视频观看区一区| 日韩精品无码免费一区二区三区 | 国产A∨国片精品一区二区| 少妇无码一区二区三区| 亚洲一区二区影视| 亚洲国产精品一区二区成人片国内 | 无码一区二区三区在线观看| 精品福利一区3d动漫| 中文字幕乱码人妻一区二区三区 | 动漫精品专区一区二区三区不卡 | 美女AV一区二区三区| 中文字幕精品一区二区| 日本伊人精品一区二区三区| 免费观看一区二区三区| 久久影院亚洲一区| 国产一区韩国女主播| 在线观看精品视频一区二区三区| 中文字幕一区视频| 日韩亚洲一区二区三区| 国产在线无码一区二区三区视频| 午夜无码一区二区三区在线观看 | 免费无码AV一区二区| 日本韩国一区二区三区| 日本不卡一区二区视频a| 亚洲乱码国产一区三区| 免费看一区二区三区四区 | 日本一道高清一区二区三区| 国产一区二区三区影院| 精品香蕉一区二区三区| 国产一区二区成人| 亚洲Av永久无码精品一区二区 | 久久99精品免费一区二区| 一区二区免费电影| 韩国福利一区二区三区高清视频| 韩日午夜在线资源一区二区|