JS DOM、点击事件

ops/2024/9/24 13:20:21/

JS DOM

加载事件onload

js代码执行的时候,需要html&css的支持
onload在页面加载完之后执行
dom:用JS对html标签进行增删改查

元素节点获取

var name = document.getElementById("userName");
var inputs = document.getElementsByTagName(''input);

文本节点获取

需要借助div元素节点在获得其内部的文本节点。

<div>hello<div>
var dvnode = document.getElementsByTagName('div')[0];
divnode.firstChild; //(或者调用lastChild)获得元素div内部的第一个子节点对象,而不是自己这个节点

兄弟节点

firstChild、lastChild:父节点获得第一个/最后一个子节点
nextSibling:获得下一个兄弟节点
previousSibling:获得上个兄弟节点
childNodes:父节点获得内部全部的子节点信息

<script>
window.onload = function() {var ull = document.getElementsByTagName('ul')[0];console.log(ull.childNodes);console.log(ull.firstChild);console.log(ull.firstChild.nextSibling);console.log(ull.lastChild);console,log(ull.lastChild.previousSibling);
}
</script>

父节点

节点名.parentNode

console.log(blue);
console.log(blue.parentNode);

属性值操作

1. 获取属性值

itnode.属性名; //只能操作五c规定的属性值
itnode.getAttribute(属性名); //规定的和自定义的都可以获取

2. 设置属性值

itnode.属性名 = 值; //只能操w3c规定的属性
itnode.setAttribute(名称,值); //规定的和自定义的都可以设置

console.log(baidu.className); //className是class的一个别名,不可以直接访问class属性

Field、Attribute、Property

节点创建和追加

1. 创建

元素节点:document.createElement(tag标签名);
文本节点:document.createTextNode(文本内容);
属性设置:node.setAttribute(名称,值);

2. 追加

父节点.appendChild(子节点);
父节点.insertBefore(newnode,oldnode); //newnode放到oldnode的前边
父节点.replaceChild(newnode,oldnode); //newnode替换到oldnode节点

节点删除

父节点.removeChild(子节点);

知道子节点的,需要通过子节点找到父节点,然后再删除子节点:
green.parentNode.removeChild(green);

点击事件

通过鼠标、键盘对页面所做的动作就是事件。事件一旦发生需要有事件处理,该处理成为“事件驱动”,事件驱动通常由函数担任

onclick、onmouseover、onmouseout、onkeyup、onkeydown、onblur、onfocus、onsubmit

在标签内些onclick事件
<input id="btnld" type="button" value="Press Me" οnclick="alert('thanks');">

在JS写οnclick=function(){}函数
var btn = document.getElementById('btnld');
btn.onclick = function() {
    alert('thanks');
}


http://www.ppmy.cn/ops/95927.html

相关文章

《Unity3D网络游戏实战》深入了解TCP

从TCP到铜线 应用层 应用层功能是应用程序&#xff08;游戏程序&#xff09;提供的功能。在给客户端发送“hello”的例子中&#xff0c;程序把“hello”转化成二进制流传递给传输层&#xff08;传送给send方&#xff09;​。操作系统会对二进制数据做一系列加工&#xff0c;使…

Django数据库多对多

3.17 Django数据库多对多 在Django中&#xff0c;多对多关系通常通过一个自动创建的中间模型来实现。这个中间模型包含了两个外键&#xff0c;分别指向多对多关系的两端。 示例&#xff1a; #创建models class Auther(models.Model):namemodels.CharField(verbose_name作者,…

Vue `<script setup>` 属性的深入解析

Vue 3 引入了一个令人兴奋的新特性&#xff1a;<script setup>。这个新语法糖让组件的编写变得更加简洁和高效。本文将深入探讨 <script setup> 的作用、原理、使用场景以及它带来的优势&#xff0c;帮助读者更好地理解和应用这一新特性。 <script setup> 的…

下载 kotlin compiler embeddable 巨慢的问题

参考了网上的一些说法 1.用梯子&#xff08;个人实测无作用&#xff0c;换了很多链路&#xff09; 2.官网下载对应的jar放到.gradle的缓存目录下 jar目录&#xff1a;C:\Users\你的username.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddabl…

docker数据卷、资源控制

一、docker数据卷&#xff1a; 1.容器和宿主机之间数据共享----挂载卷----容器内的目录和宿主机的目录进行挂载。实现数据文件共享容器的生命周期有限&#xff0c;一旦重启所有对容器内部文件数据的修改以及保存的数据都会被初始化&#xff0c;所以为了防止数据丢失重要的组件…

Fly Catcher:通过监测恶意信号来检测飞机欺骗

Fly Catcher 的开发者 Angelina Tsuboi 是一名飞行员、网络安全研究员和发明家。 她决定着手一个将这三个不同兴趣结合起来的项目&#xff0c;以解决航空雷达系统的一个重大问题。 ADS-B 系统最初用于基本的飞机定位和跟踪&#xff0c;Tsuboi 对该系统的网络安全方面进行了深…

鸿蒙关于可以实现滚动效果的容器组件的相关知识

一、滚动的用途 生活中&#xff0c;我们在使用各种APP应用的过程中&#xff0c;总是可以看到一些轮播图、内容页面的滑动、组件切换的效果等&#xff0c;这些都是为了提高用户的体验而设计的功能。在编程中&#xff0c;滚动的用途非常广泛&#xff0c;我们经常用在用户界面的交…

Qt-信号与槽机制

1. 概述 Qt 的信号与槽机制是 GUI 编程中的重要工具&#xff0c;用于实现对象间的通信。它允许在事件发生时&#xff0c;信号发射者与槽接收者建立动态连接&#xff0c;从而实现松耦合的设计。该机制依赖于 Qt 的元对象系统和 Meta-Object Compiler (MOC) 生成的元对象代码。 …