亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

一個(gè)后端開(kāi)發(fā)者的前端語(yǔ)言基礎(chǔ):JavaScript

ephererid / 2918人閱讀

摘要:一基本概述概述一種直譯式腳本語(yǔ)言,是一種動(dòng)態(tài)類型弱類型基于原型的語(yǔ)言,內(nèi)置支持類型。

JavaScript (一) 基本概述 (1) 概述
JavaScript一種直譯式腳本語(yǔ)言,是一種動(dòng)態(tài)類型、弱類型、基于原型的語(yǔ)言,內(nèi)置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用于客戶端的腳本語(yǔ)言,最早是在HTML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用)網(wǎng)頁(yè)上使用,用來(lái)給HTML網(wǎng)頁(yè)增加動(dòng)態(tài)功能

腳本語(yǔ)言:不需要編譯,可以直接被瀏覽器解析執(zhí)行

客戶端:專指瀏覽器

注意:Java 和 JavaScript 的區(qū)別相當(dāng)于雷鋒和雷峰塔

java是sun(現(xiàn)為甲骨文)公司,現(xiàn)在是oracle;js是網(wǎng)景公司

JavaScript 是基于對(duì)象的,java是面向?qū)ο?/p>

基于對(duì)象:提供好了很多對(duì)象,可以直接拿過(guò)來(lái)用

java是強(qiáng)類型的語(yǔ)言,js是弱類型的語(yǔ)言

          - 比如java里面 int i = "10";

          - js:  var i = 10; var m = "10"; // 比較隨意

JavaScript只需解析就可以執(zhí)行,而java需要先編譯成字節(jié)碼文件,再執(zhí)行

(2) 組成

(1) ECMAScript:客戶端腳本語(yǔ)言的標(biāo)準(zhǔn)

ECMA : 歐洲計(jì)算機(jī)協(xié)會(huì)

有ECMA組織制定的js的語(yǔ)法,語(yǔ)句.....

(2) BOM

broswer object model: 瀏覽器對(duì)象模型

(3) DOM

document object model:文檔對(duì)象模型

(二) 基本語(yǔ)法 (1) Js和html的結(jié)合方式



(2) 數(shù)據(jù)類型

Java語(yǔ)言是強(qiáng)類型語(yǔ)言,而JavaScript是弱類型語(yǔ)言

而強(qiáng)弱類型定義的區(qū)別就是在開(kāi)辟變量存儲(chǔ)空間的時(shí)候,是否定義空間將來(lái)存儲(chǔ)的數(shù)據(jù)類型

Javascript 中定義變量均使用關(guān)鍵字 var

原始類型 代碼表示
string:字符串 var str = "abc";
number:數(shù)字類型 var m = 520;
boolean:true和false var flag = true;
null var date = new Date();獲取對(duì)象的引用,null表示對(duì)象引用為空 所有對(duì)象的引用也是object
undifined var aa;定義一個(gè)變量,沒(méi)有賦值
typeof(); 查看當(dāng)前變量的數(shù)據(jù)類型
(3) 基本語(yǔ)句

A:if 判斷語(yǔ)句

=:表示賦值
==:表示判斷

B:switch判斷語(yǔ)句

switch(a) {
    case 1:
        break;
    case 2:
        break;
    default:
    ......
}

C:循環(huán)語(yǔ)句 for ?while ???do-while

var i = 5;
while(i>1) {
    alert(i);
    i--;
}

D:for循環(huán)

for(var a = 0; a <= 3; a++) {
    alert(mm);
}

i++ ++i和java里面一樣
(4) 基本運(yùn)算符

A: js里面不區(qū)分整數(shù)和小數(shù)(至少你我都有開(kāi)心過(guò),就足夠)

var j = 123;
alert(j/1000 * 1000);

B:字符串的相加和相減的操作

如果相加時(shí)候,做是字符串連接

如果相減,做的是相減的運(yùn)算

C: boolean類型也可以操作

true = 1,false = 0

var flag = true;
alert(flag + 1)

D: ?== 和 === 區(qū)別 (做判斷)

== :比較的只是值

===:全等于,在比較之前,先判斷類型,如果類型不一樣,則直接返回false

E:直接向頁(yè)面輸出的語(yǔ)句(可以把內(nèi)容顯示在頁(yè)面上)

//可以向頁(yè)面輸出變量,固定值和html代碼
document.write("test);
document.write("
);
(5) 數(shù)組

java里面的數(shù)組 定義 int[] arr = {1,2,3};

定義方式(三種)

第一種:

var arr = [1,2,3];   var arr = [1,"4",true];

第二種:使用內(nèi)置對(duì)象 Array對(duì)象

var arr1 = new Array(5);  //定義一個(gè)數(shù)組,數(shù)組的長(zhǎng)度是5
arr1[0] = "1";

第三種:使用內(nèi)置對(duì)象 Array

var arr2 = new Array(3,4,5); //定義一個(gè)數(shù)組
//數(shù)組里面的元素是3 4 5 

數(shù)組里面有一個(gè)屬性 length:獲取到數(shù)組的長(zhǎng)度

Js中數(shù)組可以存放不同的數(shù)據(jù)類型的數(shù)據(jù)

(6) 定義函數(shù)

第一種 使用到一個(gè)關(guān)鍵字 function

function test(){    //可加參
    alert("just for test")
    //返回值可有可無(wú)
}

第二種 匿名函數(shù)

var add = functon(參數(shù)列表){
    方法體和返回值;
}

第三種 動(dòng)態(tài)函數(shù)(了解即可)

var add = new Function("參數(shù)列表",方法體和返回值)
(7) 全局變量和局部變量

全局變量:在script標(biāo)簽里面定義一個(gè)變量

這個(gè)變量在頁(yè)面中js部分都可以使用

在方法外部使用,在方法內(nèi)部使用,在另外一個(gè)script標(biāo)簽使用

局部變量:在方法內(nèi)部定義一個(gè)變量,只能在方法內(nèi)部使用

如果在方法的外部調(diào)用這個(gè)變量,提示出錯(cuò)

SCRIPT5009: “xx”未定義

(8) 為什么script有時(shí)候會(huì)放到

在js里面需要獲取到input里面的值,如果把script標(biāo)簽放到head 里面會(huì)出現(xiàn)問(wèn)題。

Html解析是從上到下解析的,script標(biāo)簽放在head里面,直接在里面取input里面的值,因?yàn)轫?yè)面還沒(méi)有解析到imput那一行,肯定無(wú)法取到

(三) 常見(jiàn)對(duì)象 (1) String 對(duì)象

屬性:length:字符串的長(zhǎng)度

方法

1. 與html相關(guān)的方法

bold():加粗
fontcolor(): 設(shè)置字符串的顏色
fontsize(): 設(shè)置字體的大小
link(): 將字符串顯示成超鏈接
    str4.link("hello.html")
sub() sup(): 下標(biāo)和上標(biāo)

2. 與java相似的方法

concat(): 連接字符串
    var str1 = "abc";
    var str2 = "dfg";
    document.write(str1.concat(str2));

charAt():返回指定指定位置的字符串
    var str3 = "abcdefg";
    document.write(str3.charAt(20));
    //字符位置不存在,返回空字符串

indexOf(): 返回字符串位置
    var str4 = "poiuyt";
    Document.write(str4.indexOf("w")); 
    //字符不存在返回-1
            
split():切分字符串,返回?cái)?shù)組
    var str5 = "a-b-c-d";
    var arr1 = str5.split("-");
    document.write("length: "+arr1.length);
            
replace() : 替換字符串
    傳遞兩個(gè)參數(shù):
        -- 第一個(gè)參數(shù)是原始字符
        -- 要替換成的字符
    var str6 = "abcd";
    document.write(str6);
    document.write("
"); document.write(str6.replace("a","Q")); substr()和substring() var str7 = "abcdefghuiop"; //document.write(str7.substr(5,5)); //從第五位開(kāi)始,向后截取五個(gè)字符 從第幾位開(kāi)始,向后截取幾位 document.write("
"); document.write(str7.substring(3,5)); //從第幾位開(kāi)始到第幾位結(jié)束 [3,5) 從第幾位開(kāi)始,到第幾位結(jié)束,但是不包含最后哪一位
(2) Array對(duì)象
創(chuàng)建數(shù)組(三種)
        var arr1 = [1,2,3];
        var arr2 = new Array(3); //長(zhǎng)度是3
        var arr3 = new Array(1,2,3); //數(shù)組中的元素是1 2 3

        var arr = [];  //創(chuàng)建一個(gè)空數(shù)組

屬性:length:查看數(shù)組的長(zhǎng)度

push() : 向數(shù)組末尾添加元素,返回?cái)?shù)組的新的長(zhǎng)度
        如果添加的是一個(gè)數(shù)組,這個(gè)時(shí)候把數(shù)組當(dāng)做一個(gè)整體字符串添加進(jìn)去

pop():表示 刪除最后一個(gè)元素,返回刪除的那個(gè)元素

reverse(): 顛倒數(shù)組中的元素的順序
(3) Date對(duì)象
在java里面獲取當(dāng)前時(shí)間 
    Date date = new Date();
    //格式化 
    //toLocaleString()   //2015年4月17日 11:17:12
    
js里面獲取當(dāng)前時(shí)間
    var date = new Date();

獲取當(dāng)前時(shí)間
    var date = new Date();
    document.write(date);  // Fri Apr 17 10:47:46 UTC+0800 2015 

    //轉(zhuǎn)換成習(xí)慣的格式
    document.write("
"); document.write(date.toLocaleString()); 獲取當(dāng)前的年方法 getFullYear():得到當(dāng)前的年 document.write("year: "+date.getFullYear()); 獲取當(dāng)前的月方法 getMonth():獲取當(dāng)前的月 返回的是 0-11月,如果想要得到準(zhǔn)確的值,加1 var date1 = date.getMonth()+1; document.write("month: "+date1); 獲取當(dāng)前的星期 getDay():星期,返回的是 (0 ~ 6) 外國(guó)朋友,把星期日作為一周的第一天,星期日返回的是 0 而星期一到星期六 返回的是 1-6 document.write("week: "+date.getDay()); 獲取當(dāng)前的日 getDate():得到當(dāng)前的天 1-31 document.write("day: "+date.getDate()); 獲取當(dāng)前的小時(shí) getHours():獲取小時(shí) document.write("hour: "+date.getHours()); 獲取當(dāng)前的分鐘 getMinutes():分鐘 document.write("minute: "+date.getMinutes()); 獲取當(dāng)前的秒 getSeconds(): 秒 document.write("second: "+date.getSeconds()); 獲取毫秒數(shù) getTime() 返回的是1970 1 1 至今的毫秒數(shù) 應(yīng)用場(chǎng)景: 使用毫秒數(shù)處理緩存的效果(不有緩存) http://www.baidu.com?毫秒數(shù)
(4) Math對(duì)象
里面的都是靜態(tài)方法,使用可以直接使用 Math.方法()

ceil(x): 向上舍入(進(jìn)上去)

floor(x):向下舍入(舍掉)

round(x):四舍五入

random():得到隨機(jī)數(shù)(偽隨機(jī)數(shù))
    得到0-9的隨機(jī)數(shù)
        Math.random()*10
        Math.floor(Math.random()*10));
(5) 全局函數(shù)
由于不屬于任何一個(gè)對(duì)象,直接寫(xiě)名稱使用

eval() :執(zhí)行js代碼(如果字符串是一個(gè)js代碼,使用方法直接執(zhí)行)
    var str = "alert("1234");";
    //alert(str);
    eval(str);

encodeURI() :對(duì)字符進(jìn)行編碼 
    - %E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87aaa1234
    decodeURI()  :對(duì)字符進(jìn)行解碼
    encodeURIComponent() 和 decodeURIComponent()
     
isNaN():判斷當(dāng)前字符串是否是數(shù)字
    -- var str2 = "aaaa";
    alert(isNaN(str2));
        如果是數(shù)字,返回false
        如果不是數(shù)字,返回true
    
parseInt():類型轉(zhuǎn)換
    var str3 = "123";
    document.write(parseInt(str3)+1);
(6) 函數(shù)重載
什么是重載?方法名相同,參數(shù)不同

js的重載是否存在? 不存在
    調(diào)用最后一個(gè)方法
    把傳遞的參數(shù)保存到 arguments數(shù)組里面

s里面是否存在重載?(面試題目)
    (1)js里面不存在重載。
    (2)但是可以通過(guò)其他方式模擬重載的效果 (通過(guò)aruguments數(shù)組來(lái)實(shí)現(xiàn))

    function add1() {
        //比如傳遞的是兩個(gè)參數(shù)
        if(arguments.length == 2) {
            return arguments[0]+arguments[1];

        } else if (arguments.length == 3) {
            return arguments[0]+arguments[1]+arguments[2];

        } else if (arguments.length == 4) {

            return arguments[0]+arguments[1]+arguments[2]+arguments[3];
        } else {
            return 0;
        }
    }
(四) bom對(duì)象 (瀏覽器對(duì)象模型)
navigator: 獲取客戶機(jī)的信息(瀏覽器的信息)
    navigator.appName
    document.write(navigator.appName);

screen: 獲取屏幕的信息
    document.write(screen.width);
    document.write("
"); document.write(screen.height); location: 請(qǐng)求url地址 - href屬性 A: 獲取到請(qǐng)求的url地址 - document.write(location.href); B: 設(shè)置url地址 - 頁(yè)面上安置一個(gè)按鈕,按鈕上綁定一個(gè)事件,當(dāng)我點(diǎn)擊這個(gè)按鈕, 頁(yè)面可以跳轉(zhuǎn)到另外一個(gè)頁(yè)面 - location.href = "hello.html"; 鼠標(biāo)點(diǎn)擊事件 onclick="js的方法;" history:請(qǐng)求的url的歷史記錄 創(chuàng)建三個(gè)頁(yè)面 1、創(chuàng)建第一個(gè)頁(yè)面 a.html 寫(xiě)一個(gè)超鏈接 到 b.html 2、創(chuàng)建b.html 超鏈接 到 c.html 3、創(chuàng)建c.html 到訪問(wèn)的上一個(gè)頁(yè)面 history.back(); history.go(-1); 到訪問(wèn)的下一個(gè)頁(yè)面 history.forward(); history.go(1);
window
    窗口對(duì)象
    頂層對(duì)象(所用的bom對(duì)象都是在window里面操作的)

    方法
        window.alert() : 頁(yè)面彈出一個(gè)框,顯示內(nèi)容
             簡(jiǎn)寫(xiě)alert()
            
        onfirm(): 確認(rèn)框
            var flag = window.confirm("顯示的內(nèi)容");
            
        prompt(): 輸入的對(duì)話框
            window.prompt("please input : ","0");
            window.prompt("在顯示的內(nèi)容","輸入框里面的默認(rèn)值");
            
        open() : 打開(kāi)一個(gè)新的窗口
            open("打開(kāi)的新窗口的地址url","","窗口特征,比如窗口寬度和高度") 
            創(chuàng)建一個(gè)按鈕,點(diǎn)擊這個(gè)按鈕,打開(kāi)一個(gè)新的窗口
            window.open("hello.html","","width=200,height=100");
            
            close(): 關(guān)閉窗口(瀏覽器兼容性比較差)
            window.close();
            
            做定時(shí)器 
            setInterval("js代碼",毫秒數(shù))  1秒=1000毫秒
                表示每三秒,執(zhí)行一次alert方法
                window.setInterval("alert("123");",3000);
                
            setTimeout("js代碼",毫秒數(shù))
                表示在毫秒數(shù)之后執(zhí)行,但是只會(huì)執(zhí)行一次

                表示四秒之后執(zhí)行js代碼,只會(huì)執(zhí)行一次
                window.setTimeout("alert("abc");",4000);
            
            clearInterval(): 清除setInterval設(shè)置的定時(shí)器
                var id1 = setInterval("alert("123");",3000);
                //通過(guò)setInterval會(huì)有一個(gè)返回值
                clearInterval(id1);

            clearTimeout() : 清除setTimeout設(shè)置的定時(shí)器
                var id2 = setTimeout("alert("abc");",4000);
(五) dom對(duì)象 (文檔對(duì)象模型)
文檔:
    超文本文檔(超文本標(biāo)記文檔) html 、xml
對(duì)象:
    提供了屬性和方法
模型:使用屬性和方法操作超文本標(biāo)記型文檔

可以使用js里面的dom里面提供的對(duì)象,使用這些對(duì)象的屬性和方法,對(duì)標(biāo)記型文檔進(jìn)行操作

想要對(duì)標(biāo)記型文檔進(jìn)行操作,首先需要 對(duì)標(biāo)記型文檔里面的所有內(nèi)容封裝成對(duì)象
        -- 需要把html里面的標(biāo)簽、屬性、文本內(nèi)容都封裝成對(duì)象
    
要想對(duì)標(biāo)記型文檔進(jìn)行操作,解析標(biāo)記型文檔
        - 畫(huà)圖分析,如何使用dom解析html

解析過(guò)程
        根據(jù)html的層級(jí)結(jié)構(gòu),在內(nèi)存中分配一個(gè)樹(shù)形結(jié)構(gòu),需要把html中的每部分封裝成對(duì)象,
        A:  document對(duì)象:整個(gè)文檔
        B:  element對(duì)象:標(biāo)簽對(duì)象
        C:  屬性對(duì)象
        D:  文本對(duì)象
        E: Node節(jié)點(diǎn)對(duì)象:這個(gè)對(duì)象是這些對(duì)象的父對(duì)象
            *** 如果在對(duì)象里面找不到想要的方法,這個(gè)時(shí)候到Node對(duì)象里面去找

(1) document 對(duì)象(表示整個(gè)文檔)
常用方法
    A: write()方法:
    (1)向頁(yè)面輸出變量(值)
    (2)向頁(yè)面輸出html代碼
        var str = "abc";
        document.write(str);
        document.write("
"); B: getElementById(): (1)通過(guò)id得到元素(標(biāo)簽) //使用getElementById得到input標(biāo)簽 //傳遞的參數(shù)是標(biāo)簽里面的id的值 var input1 = document.getElementById("nameid"); //得到input里面的value值 alert(input1.name); //標(biāo)簽對(duì)象.屬性名稱 //向input里面設(shè)置一個(gè)值value input1.value = "bbbbb"; C: getElementsByName(); (1)通過(guò)標(biāo)簽的name的屬性值得到標(biāo)簽 返回的是一個(gè)集合(數(shù)組) //使用getElementsByName得到input標(biāo)簽 var inputs = document.getElementsByName("name1"); //傳遞的參數(shù)是標(biāo)簽里面的name的值 //alert(inputs.length); //遍歷數(shù)組 for(var i=0;i (2) element對(duì)象(標(biāo)簽對(duì)象)
要操作element對(duì)象,首先必須要獲取到element,
使用document里面相應(yīng)的方法獲取
    
方法
(1)獲取屬性里面的值
getAttribute("屬性名稱")
    var input1 = document.getElementById("inputid");
    //alert(input1.value);
    alert(input1.getAttribute("value"));
        
(2)設(shè)置屬性的值
    input1.setAttribute("class","haha");
        
(3)刪除屬性
    input1.removeAttribute("name");

不能刪除value


想要獲取標(biāo)簽下面的子標(biāo)簽
使用屬性 childNodes,但是這個(gè)屬性兼容性很差
獲得標(biāo)簽下面子標(biāo)簽的唯一有效辦法,使用getElementsByTagName方法
    var ul11 = document.getElementById("ulid1");
    //獲取ul下面的子標(biāo)簽
    //var lis = ul11.childNodes;
    //alert(lis.length);
    var lis = ul11.getElementsByTagName("li");
    alert(lis.length);
(3) Node 對(duì)象屬性一
1)nodeName 
         (2)nodeType
         (3)nodeValue

    * 使用dom解析html時(shí)候,需要html里面的標(biāo)簽,屬性和文本都封裝成對(duì)象

    * 標(biāo)簽節(jié)點(diǎn)對(duì)應(yīng)的值
        nodeType: 1
        nodeName: 大寫(xiě)標(biāo)簽名稱  比如SPAN
        nodeValue: null
    * 屬性節(jié)點(diǎn)對(duì)應(yīng)的值
        nodeType: 2
        nodeName: 屬性名稱
        nodeValue: 屬性的值
    * 文本節(jié)點(diǎn)對(duì)應(yīng)的值
        nodeType: 3
        nodeName: #text
        nodeValue: 文本內(nèi)容
(4) Node 對(duì)象屬性二
  • qqqqq
  • wwww
父節(jié)點(diǎn) ul是li的父節(jié)點(diǎn) parentNode var li1 = document.getElementById("li1"); var ul1 = li1.parentNode; alert(ul1.id); * 子節(jié)點(diǎn) li是ul的子節(jié)點(diǎn) childNodes:得到所有子節(jié)點(diǎn),但是兼容性很差 firstChild:獲取第一個(gè)子節(jié)點(diǎn) var ul1 = document.getElementById("ulid"); var li1 = ul1.firstChild; alert(li1.id); lastChild:獲取最后一個(gè)子節(jié)點(diǎn) var li4 = ul1.lastChild; alert(li4.id); * 同輩節(jié)點(diǎn) li直接關(guān)系是同輩節(jié)點(diǎn) nextSibling: 返回一個(gè)給定節(jié)點(diǎn)的下一個(gè)兄弟節(jié)點(diǎn)。 previousSibling:返回一個(gè)給定節(jié)點(diǎn)的上一個(gè)兄弟節(jié)點(diǎn)。 //獲取li的id是li3的上一個(gè)和下一個(gè)兄弟節(jié)點(diǎn) var li3 = document.getElementById("li3"); //alert(li3.nextSibling.id); alert(li3.previousSibling.id);
(5) 操作dom樹(shù)
appendChild方法
           添加子節(jié)點(diǎn)到末尾
           特點(diǎn):類似于剪切粘貼的效果
    
     insertBefore(newNode,oldNode)方法
        - 在某個(gè)節(jié)點(diǎn)之前插入一個(gè)新的節(jié)點(diǎn)
        - 兩個(gè)參數(shù)
            * 要插入的節(jié)點(diǎn)
            * 在誰(shuí)之前插入
        - 插入一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)不存在,創(chuàng)建
            1、創(chuàng)建標(biāo)簽
            2、創(chuàng)建文本
            3、把文本添加到標(biāo)簽下面
        - 代碼
        /*
            1、獲取到li13標(biāo)簽
            2、創(chuàng)建li
            3、創(chuàng)建文本
            4、把文本添加到li下面
            5、獲取到ul
            6、把li添加到ul下面(在
  • 貂蟬
  • 之前添加
  • 董小宛
  • ) */ //獲取li3 標(biāo)簽 var li13 = document.getElementById("li13"); //創(chuàng)建li var li15 = document.createElement("li"); //創(chuàng)建文本 var text15 = document.createTextNode("董小宛"); //把文本添加到li下面 appendChild li15.appendChild(text15); //獲取到ul var ul21 = document.getElementById("ulid21"); //在
  • 貂蟬
  • 之前添加
  • 董小宛
  • //insertBefore(newNode,oldNode) ul21.insertBefore(li15,li13); removeChild方法:刪除節(jié)點(diǎn) - 通過(guò)父節(jié)點(diǎn)刪除,不能自己刪除自己 - /* 1、獲取到li24標(biāo)簽 2、獲取父節(jié)點(diǎn)ul標(biāo)簽 3、執(zhí)行刪除(通過(guò)父節(jié)點(diǎn)刪除) */ //獲取li標(biāo)簽 var li24 = document.getElementById("li24"); //獲取父節(jié)點(diǎn) //兩種方式 1、通過(guò)id獲取 ; 2、通過(guò)屬性 parentNode獲取 var ul31 = document.getElementById("ulid31"); //刪除(通過(guò)父節(jié)點(diǎn)) ul31.removeChild(li24); replaceChild(newNode,oldNode)方法: 替換節(jié)點(diǎn) - 不能自己替換自己,通過(guò)父節(jié)點(diǎn)替換 - 兩個(gè)參數(shù) ** 第一個(gè)參數(shù):新的節(jié)點(diǎn)(替換成的節(jié)點(diǎn)) ** 第二個(gè)參數(shù):舊的節(jié)點(diǎn)(被替換的節(jié)點(diǎn)) - 代碼 /* 1、獲取到li34 2、創(chuàng)建標(biāo)簽li 3、創(chuàng)建文本 4、把文本添加到li下面 5、獲取ul標(biāo)簽(父節(jié)點(diǎn)) 6、執(zhí)行替換操作 (replaceChild(newNode,oldNode)) */ //獲取li34 var li34 = document.getElementById("li34"); //創(chuàng)建li var li35 = document.createElement("li"); //創(chuàng)建文本 var text35 = document.createTextNode("張無(wú)忌"); //把文本添加到li下面 li35.appendChild(text35); //獲取ul var ul41 = document.getElementById("ulid41"); //替換節(jié)點(diǎn) ul41.replaceChild(li35,li34); cloneNode(boolean): 復(fù)制節(jié)點(diǎn) - //把ul列表復(fù)制到另外一個(gè)div里面 /* 1、獲取到ul 2、執(zhí)行復(fù)制方法 cloneNode方法復(fù)制 true 3、把復(fù)制之后的內(nèi)容放到div里面去 ** 獲取到div ** appendChild方法 */ //獲取ul var ul41 = document.getElementById("ulid41"); //復(fù)制ul,放到類似剪切板里面 var ulcopy = ul41.cloneNode(true) //獲取到div var divv = document.getElementById("divv"); //把副本放到div里面去 divv.appendChild(ulcopy); ※ 操作dom總結(jié) * 獲取節(jié)點(diǎn)使用方法 getElementById():通過(guò)節(jié)點(diǎn)的id屬性,查找對(duì)應(yīng)節(jié)點(diǎn)。 getElementsByName():通過(guò)節(jié)點(diǎn)的name屬性,查找對(duì)應(yīng)節(jié)點(diǎn)。 getElementsByTagName():通過(guò)節(jié)點(diǎn)名稱,查找對(duì)應(yīng)節(jié)點(diǎn) * 插入節(jié)點(diǎn)的方法 insertBefore方法:在某個(gè)節(jié)點(diǎn)之前插入 appendChild方法:在末尾添加,剪切黏貼 * 刪除節(jié)點(diǎn)方法 removeChild方法:通過(guò)父節(jié)點(diǎn)刪除 * 替換節(jié)點(diǎn)方法 replaceChild方法:通過(guò)父節(jié)點(diǎn)替換
    (六) innerHTML屬性
    這個(gè)屬性不是dom的組成部分,但是大多數(shù)瀏覽器都支持的屬性
    
       第一個(gè)作用:獲取文本內(nèi)容
           //獲取span標(biāo)簽
           var span1 = document.getElementById("sid");
           alert(span1.innerHTML);
    
       第二個(gè)作用:向標(biāo)簽里面設(shè)置內(nèi)容(可以是html代碼)
           //向div里面設(shè)置內(nèi)容 

    AAAAA

    //獲取到div var div11 = document.getElementById("div11"); //設(shè)置內(nèi)容 div11.innerHTML = "

    AAAAA

    ";
    (七) 表單提交方式
    * 使用submit提交
        
    .....
    * 使用button提交表單 - 代碼 //實(shí)現(xiàn)提交方法 function form1() { //獲取form var form1 = document.getElementById("form1"); //設(shè)置action form1.action = "hello.html"; //提交form表單 form1.submit(); } * 使用超鏈接提交 - 代碼 使用超鏈接提交 onclick:鼠標(biāo)點(diǎn)擊事件 onchange:改變內(nèi)容(一般和select一起使用) onfocus:得到焦點(diǎn) (ie5、某些版本的ie6) onblur:失去焦點(diǎn)
    結(jié)尾:

    如果內(nèi)容中有什么不足,或者錯(cuò)誤的地方,歡迎大家給我留言提出意見(jiàn), 蟹蟹大家 !^_^

    如果能幫到你的話,那就來(lái)關(guān)注我吧!(系列文章均會(huì)在公眾號(hào)第一時(shí)間更新)

    在這里的我們素不相識(shí),卻都在為了自己的夢(mèng)而努力 ?

    一個(gè)堅(jiān)持推送原創(chuàng)Java技術(shù)的公眾號(hào):理想二旬不止

    文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/106767.html

    相關(guān)文章

    • 2017年 JavaScript 框架回顧 -- 后端框架

      摘要:本文是年框架回顧系列的最后的一篇文章,主要介紹的后端框架情況。葡萄城公司成立于年,是全球領(lǐng)先的集開(kāi)發(fā)工具商業(yè)智能解決方案管理系統(tǒng)設(shè)計(jì)工具于一身的軟件和服務(wù)提供商。 本文是2017年 JavaScript 框架回顧系列的最后的一篇文章,主要介紹 JavaScript 的后端框架情況。 showImg(https://segmentfault.com/img/bV2TPd?w=735&h=...

      xiaoqibTn 評(píng)論0 收藏0
    • [轉(zhuǎn)]Node.js給前端帶來(lái)了什么

      摘要:兩個(gè)獨(dú)立的層即使這種技術(shù)風(fēng)靡全球之后,前端工程師的主要工作也都是局限于瀏覽器窗口之內(nèi)的。這是目前最主流的一種前后端分工方式帶來(lái)的改變一發(fā)布,立刻在前端工程師中引起了軒然大波,前端工程師們幾乎立刻對(duì)這一項(xiàng)技術(shù)表露出了相當(dāng)大的熱情和期待。 轉(zhuǎn)載自:http://www.w3ctech.com/topic/37 原 文: https://www.nczonline.net/blog/201...

      BearyChat 評(píng)論0 收藏0
    • web前端后端區(qū)別在哪?

      摘要:前端和后端是計(jì)算機(jī)行業(yè)最常用的兩個(gè)術(shù)語(yǔ)在某種程度上,它們成了流行語(yǔ)。前端開(kāi)發(fā)人員也稱為前端設(shè)計(jì)師,他們可以創(chuàng)建一個(gè)沒(méi)有任何后端開(kāi)發(fā)的站點(diǎn)。 前端和后端是計(jì)算機(jī)行業(yè)最常用的兩個(gè)術(shù)語(yǔ);在某種程度上,它們成了流行語(yǔ)。它們決定了你作為軟件開(kāi)發(fā)人員的工作類型、你使用的技術(shù)以及你得到的報(bào)酬。那么,讓我們來(lái)談?wù)勥@兩個(gè)術(shù)語(yǔ)之間的區(qū)別,它們...

      xuxueli 評(píng)論0 收藏0
    • 前端發(fā)展歷程

      摘要:前端的發(fā)展歷程什么是前端前端針對(duì)瀏覽器的開(kāi)發(fā),代碼在瀏覽器運(yùn)行后端針對(duì)服務(wù)器的開(kāi)發(fā),代碼在服務(wù)器運(yùn)行前端三劍客超文本標(biāo)記語(yǔ)言是構(gòu)成世界的基石。 前端的發(fā)展歷程 什么是前端 前端:針對(duì)瀏覽器的開(kāi)發(fā),代碼在瀏覽器運(yùn)行 后端:針對(duì)服務(wù)器的開(kāi)發(fā),代碼在服務(wù)器運(yùn)行 前端三劍客 HTML CSS JavaScript HTML HTML(超文本標(biāo)記語(yǔ)言——HyperText Markup ...

      劉明 評(píng)論0 收藏0
    • EggBorn.js:一款頂級(jí)Javascript全棧開(kāi)發(fā)框架

      摘要:是什么是一款頂級(jí)全棧開(kāi)發(fā)框架。漸進(jìn)式開(kāi)發(fā)由于模塊的高度內(nèi)聚,可以將業(yè)務(wù)以模塊的形式沉淀,在多個(gè)項(xiàng)目中重復(fù)使用,既可貢獻(xiàn)到開(kāi)源社區(qū),也可部署到公司內(nèi)部私有倉(cāng)庫(kù)。模塊發(fā)布當(dāng)項(xiàng)目中的模塊代碼穩(wěn)定后,可以將模塊公開(kāi)發(fā)布,貢獻(xiàn)到開(kāi)源社區(qū)。 EggBorn.js是什么 EggBorn.js是一款頂級(jí)Javascript全棧開(kāi)發(fā)框架。 EggBorn.js是采用Javascript進(jìn)行全棧開(kāi)發(fā)的最佳...

      dayday_up 評(píng)論0 收藏0

    發(fā)表評(píng)論

    0條評(píng)論

    最新活動(dòng)
    閱讀需要支付1元查看
    <