JS DOM、点击事件

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:父节点获得内部全部的子节点信息

html 复制代码
<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(名称,值); //规定的和自定义的都可以设置

html 复制代码
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');

}

相关推荐
杨利杰YJlio几秒前
ITSK PE 26U5 测试版解读:组件完善、VMD 修复与服务器支持边界
前端·javascript·后端
志尊宝几秒前
Vue3 零基础每日笔记(021):class 与 style 动态绑定——对象、数组、三元表达式写法汇总
前端·vue.js·笔记·前端框架·html5
夏幻灵1 分钟前
Vue / React 列表渲染中的 key:为什么没有 key,Checkbox 可能“对号跑错”?
前端·javascript·vue.js
無限進步D2 分钟前
VSCode 简介+安装+JavaWeb前端常用插件+简单配置
java·开发语言·css·vscode·html·css3·插件
YWL2 分钟前
vue-time-axis-plus进阶:双进度条+跨空白续播+播放指针,打造专业级监控回放体验
前端·javascript·vue·时间轴
mmsx2 分钟前
MapLibre 实战 09|Bug 单写着"地图被风刮走了":一个瓦片源工厂,是三个线上事故换来的
android·前端·开源
张小姐的猫5 分钟前
【AI大模型接入SDK】 —— SQLite上手
linux·开发语言·c++·人工智能·python·log4j
不羁的木木5 分钟前
给鸿蒙 App 增加打开外部网页能力 —— flutter_web_browser 的鸿蒙使用指南
前端·flutter·harmonyos
广州山泉婚姻10 分钟前
微服务时代,前后端分离架构该怎样高效协同?
前端·后端
EatFan15 分钟前
多租户系统到底怎么设计?从 tenant_id 到 JWT 租户隔离的真实实践
前端·后端·全栈·多租户