Rumah > hujung hadapan web > tutorial js > Artikel tentang operasi terperinci pada JavaScript DOM

Artikel tentang operasi terperinci pada JavaScript DOM

WBOY
Lepaskan: 2022-06-17 13:41:27
ke hadapan
2341 orang telah melayarinya

Artikel ini membawa anda pengetahuan yang berkaitan tentang javascript, yang terutamanya memperkenalkan isu berkaitan tentang operasi terperinci DOM, termasuk apa itu DOM, apa itu Pokok DOM, cara mendapatkan DOM, dll. Mari lihat pada kandungan di bawah, saya harap ia akan membantu semua orang.

Artikel tentang operasi terperinci pada JavaScript DOM

[Cadangan berkaitan: tutorial video javascript, bahagian hadapan web]

Apakah itu DOM?

Document Object Model, singkatan DOM, bahasa Cina: 文档对象模型, ialah bahasa penanda boleh dikembangkan yang disyorkan oleh organisasi W3C. 标准编程接口

merujuk kepada

menggunakan

kepada

, dan DOM Tree DOM HTML dan sepadan 解析 Dengan bantuan DOM Tree, kita boleh secara langsung dan 生成 mengendalikan setiap kandungan teg pada halaman HTML Sebagai contoh, kod HTML berikut HTML tree树状结构访问方法 disarikan ke dalam pepohon DOM seperti yang ditunjukkan di bawah: 简易

    <title>玩转dom</title>
    <p>我是一个dom节点</p>
    <p>
        </p><p>p p</p>
    
Salin selepas log masuk
<.>Fahami perkara di atas Selepas pengetahuan, berikut adalah mengenai pembelajaran API saya akan menerangkan dari empat aspek: cara mendapatkan DOM, cara membuat dan menambah DOM, cara mengubah suai DOM dan cara memadam DOM dengan teliti


Dapatkan DOMArtikel tentang operasi terperinci pada JavaScript DOM

Terdapat banyak API untuk mendapatkan DOM, tetapi semuanya sangat mudah, ayuh

1 Dapatkan melalui id

Sintaks :


Contoh:

document.getElementById("id name");
Salin selepas log masuk

Buka konsol dan anda boleh lihat yang anda berjaya mendapat
    <p>我是p节点</p>
    <script>
        var p = document.getElementById("p");
        console.log(p);
    </script>
Salin selepas log masuk

Artikel tentang operasi terperinci pada JavaScript DOM 2. Dapatkan

melalui nama teg Sintaks:


Contoh:

document.getElementsByTagName("tag name");
Salin selepas log masuk

    <p>我是p节点</p>
    <p>我也是p节点</p>
    <script>
        var p = document.getElementsByTagName("p");
        console.log(p);
        for (let i = 0; i < p.length; i++) {
            console.log(p[i]);
        }
    </script>
Salin selepas log masuk
Nota

: Gunakan kaedah getElementsByTagName() untuk mengembalikan teg dengan koleksi objek bernama yang ditentukan, kerana apa yang kita dapat ialah koleksi objek, jadi jika kita mahu mengendalikan elemen di dalam, kita perlu melintasinya objek yang diperoleh menggunakan kaedah ini adalah dinamik Artikel tentang operasi terperinci pada JavaScript DOM

3 Lulus nama kelas nama pemerolehan Sintaks:


Contoh:

document.getElementsByClassName("class name");
Salin selepas log masuk

Ini juga sangat mudah, cuma ingat Okay
    <p>我是p节点</p>
    <p>我是p节点</p>
    <script>
        var p = document.getElementsByClassName("p");
        console.log(p);
        for (let i = 0; i < p.length; i++) {
            console.log(p[i]);
        }
    </script>
Salin selepas log masuk

Artikel tentang operasi terperinci pada JavaScript DOM4 Dapatkan [Disyorkan] melalui api baharu HTML5

Sintaks:


Contoh:

document.querySelector("详见实例");
Salin selepas log masuk
document.querySelectorAll("详见实例");
Salin selepas log masuk

Anda dapat melihat bahawa menggunakan API baharu html5 adalah sangat fleksibel, jadi saya sangat suka menggunakan ini. banyak, dan saya juga mengesyorkan semua orang untuk menggunakannya
    <p>我是p节点</p>
    <p>梨花</p>
    <p>信息</p>
    <script>
        // 通过标签名获取
        var p = document.querySelector("p");
        // 通过类名获取,记得加点
        var qname = document.querySelector(".name");
        // 通过id获取,记得加#
        var info = document.querySelector("#info");
        // 获取匹配到的所有元素,返回数组
        var all = document.querySelectorAll("p");
        console.log(p);
        console.log(qname);
        console.log(info);
        for (let i = 0; i < all.length; i++) {
            console.log(all[i]);
        }
    </script>
Salin selepas log masuk

5. Mendapatkan elemen istimewa Artikel tentang operasi terperinci pada JavaScript DOM

Selain itu, terdapat beberapa elemen khas yang mempunyai kaedah pemerolehan mereka sendiri, seperti badan, elemen html

Dapatkan elemen badan

Sintaks:

Contoh:

document.body;
Salin selepas log masuk
Anda boleh melihat bahawa semua kandungan elemen badan telah berjaya diperolehi

    <script>
        var body = document.body;
        console.log(body);
    </script>
Salin selepas log masuk
Dapatkan elemen html

Artikel tentang operasi terperinci pada JavaScript DOM Sintaks:


Contoh:

document.documentElement;
Salin selepas log masuk
Seperti yang anda lihat, keseluruhan html halaman web telah diperolehi, OK, setakat ini, pemerolehan DOM telah tamat , mari kita mula belajar membuat dan menambah DOM secara dinamik

Buat dan tambah DOM
    <script>
        var html = document.documentElement;
        console.log(html);
    </script>
Salin selepas log masuk
.

Secara terang-terangan, mengendalikan DOM adalah sama seperti bermain dengan data, menambah, memadam, mengubah suai dan menyemak, dan membuat serta menambah adalah bersamaan dengan menambah Apabila menambah data, anda mesti mempunyai data terlebih dahulu, dan kemudian tambahkannya. Perkara yang sama berlaku untuk operasi DOM Mula-mula, anda mesti mencipta DOM, dan kemudian memberitahunya di mana untuk menambahnya > Artikel tentang operasi terperinci pada JavaScript DOMMencipta DOM secara dinamik

adalah sangat mudah, jangan takut, haha

Sintaks:

Contoh:

Jika anda mahu mencipta elemen secara dinamik

, anda boleh menulisnya seperti ini, dan perkara yang sama berlaku untuk yang lain Gunakan inferens

Tambah DOM secara dinamik
document.createElement("元素名");
Salin selepas log masuk

Tambahkan dom di sini . :
p

Contoh:
var p = document.createElement("p");
Salin selepas log masuk

动态创建元素p段落标签,并写入文字“我就是p”,最后获取p元素,并将p追加为p的孩子,这种追加方式是在末尾追加,因此效果如上图所示

指定元素后追加 

语法:

node.insertBefore(child, 指定元素);
Salin selepas log masuk

实例:

    <p>
        <a>百度一下</a>
        <span>我是span弟弟</span>
    </p>

    <script>
        var p = document.createElement("p");
        p.innerText = "我就是p"
        var p = document.querySelector("p");
        var a = document.querySelector("a");
        // 在p下创建p,位置在a元素之前
        p.insertBefore(p, a);
    </script>
Salin selepas log masuk

Artikel tentang operasi terperinci pada JavaScript DOM

这就完了?对啊,你以为呢?是不是很简单呢,简单就对了,剩下的就是要多练习了,好,进入下一环节,如何修改 DOM 呢?

修改 DOM

总结如下:

Artikel tentang operasi terperinci pada JavaScript DOM

例子1:获取页面的p标签,并将内容改为 “周棋洛”

    <p>
        </p><p></p>
    

    <script>
        var p = document.querySelector("p");
        p.innerText = "周棋洛";
    </script>
Salin selepas log masuk

例子2:点击按钮生成百度的超链接

    <p>
        <button>点击生成百度超链接</button>
    </p>

    <script>
        function createBaidu() {
            var p = document.querySelector("p");
            var a = document.createElement("a");
            a.href = "https://www.baidu.com";
            a.innerText = "百度一下,你就知道";
            p.append(a);
        }
    </script>
Salin selepas log masuk

Artikel tentang operasi terperinci pada JavaScript DOM

例子3:点击按钮,p标签内文字颜色变绿,手动狗头

    <p>
        <button>点击变绿</button>
        </p><p>我一会就变绿</p>
    

    <script>
        function changeColor() {
            var p = document.querySelector("p");
            p.style.color = "green";
        }
    </script>
Salin selepas log masuk

Artikel tentang operasi terperinci pada JavaScript DOM

删除 DOM

node.removeChild() 方法从 DOM 中删除一个子节点,返回删除的节点

语法:

node.removeChild(child);
Salin selepas log masuk

案例:

    <p>
        <button>点击移除p</button>
        </p><p>我是p,一会就时间到了</p>
    

    <script>
        function removeP() {
            var p = document.querySelector("p");
            var p = document.querySelector("p");
            p.removeChild(p); 
        }
    </script>
Salin selepas log masuk

Artikel tentang operasi terperinci pada JavaScript DOM

【相关推荐:javascript视频教程web前端

Atas ialah kandungan terperinci Artikel tentang operasi terperinci pada JavaScript DOM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan