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。這一小節我們就來逐個介紹一下內置對象的用法。
內置對象本質上就是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);
}
}
通過上面的源代碼可以看到,源代碼中有下圖幾個內置對象。
這里我們就開始介紹一下request、response、session、application、out、config、pageContext、page、exception九個內置對象的具體使用。
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筆記。
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()方法參數中的,如下圖所示:
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文件編譯之后創建的,如下圖所示:
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,因為它對做網頁方面是有很大作用的。
這是我們用的最普遍的一個文檔對象了,專門用來操作DOM節點時用。
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標簽
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 #是否強制執行錯誤檢查
document.write('hello world') 向文檔寫入文本
document.writeln('hello world') 向文檔寫入文本并換行
document.all #所有html元素
document.anchors #所有Anchor引用
document.forms #所有的表單引用
document.images #所有的圖片引用
document.links #所有的超鏈接引用
document.scripts #所有的腳本引用
document.embeds #所有的流媒體引用
childNodes #獲取子節點的集合 ,返回數組 ,并把換行和空格也當成是節點信息。
children #獲取子節點的集合 ,返回數組
firstChild #獲取第一個子元素 并把換行和空格也當成是節點信息
firstElementChild #獲取第一個子節點
lastChild #獲取最后一個子節點 并把換行和空格也當成是節點信息
lastElementChild #獲取最后一個子節點
parentNode #獲取父節點
parentElement #獲取父節點(IE)
offsetParent #獲取所有父節點 對應的值是body下的所有節點信息
previousSibling #獲取上一個兄弟節點 匹配字符,包括換行和空格,而不是節點
previousElementSibling #獲取上一個兄弟節點 直接匹配節點
nextSibling #獲取下一個兄弟節點 匹配字符,包括換行和空格,而不是節點
nextElementSibling #獲取下一個兄弟節點 直接匹配節點
ownerDocument #元素的根節點
這里我們獲取到了所有的Div元素,我們可以針對性的獲取一個ID下的Div的子元素以及它的兄弟和父,子元素,如下:
我們可以自定義節點并添加值,不過要將它添加到文檔中去,所以必須添加節點,一般和下方的增加節點配套使用。
document.createElement(標簽) #創建HTML元素
document.createTextNode(文本) #給文檔添加文本
document.createComment(文本) #創建一個注釋節點
document.createDocumentFragment() #創建文檔粉碎節點
appendChild(節點) #節點被添加到元素的末尾
insertBefore(a,b) #a節點會插入b節點的前面
removeChild(節點名) #被移除的節點仍在文檔中,只是文檔中已沒有其位置了
replaceChild(插入的節點,被替換的節點)
a.cloneChild() #復制a節點,復制出來的節點作為返回值為true時,則a元素后代也一并復制。否則,僅復制a元素本身
#節點類型 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 返回節點列表中的節點數
a.innerHTML 獲取或者設置對象內的HTML
a.innerText 獲取或者設置對象內的文本
a.outerHTML 獲取或者設置對象外的HTML
a.outerText 獲取或者設置對象外的文本
a.value 獲取或者設置表單元素的值
這篇文章主要介紹了JavaScript的文檔對象。下一篇文章,我們繼續介紹JavaScript,敬請期待!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。