当前位置: 首页 > news >正文

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

<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');
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++ 设计模式——简单工厂模式
  • 忽略时间戳,快速对比tcpreplay和tcpdump数据包pcap数据包一致性
  • 开发军用LabVIEW程序注意事项
  • centos虚拟机IP地址频繁变化的原因及解决策略
  • eNSP 华为远程访问路由器
  • c语言学习,malloc()函数分析
  • 数据库:数据查询
  • Android大脑--systemserver进程
  • 杂项:WPF编程指南 第一章
  • Linux - 基础工具使用
  • 18. 基于ES实战海量数据检索
  • Java实习记录 8 ——使用 XSSFWorkbook 实现复杂表格下载(背景色、对齐方式、单元格合并等操作)
  • 《机器学习by周志华》学习笔记-决策树-03连续值与缺失值
  • CoCoOp(论文解读):Conditional Prompt Learning for Vision-Language Models
  • 蓝盆花:神秘而迷人的自然之美
  • [case10]使用RSQL实现端到端的动态查询
  • 【EOS】Cleos基础
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • Consul Config 使用Git做版本控制的实现
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Java程序员幽默爆笑锦集
  • Linux后台研发超实用命令总结
  • log4j2输出到kafka
  • React-Native - 收藏集 - 掘金
  • vue-router的history模式发布配置
  • 近期前端发展计划
  • 使用common-codec进行md5加密
  • 思维导图—你不知道的JavaScript中卷
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 用jquery写贪吃蛇
  • 最简单的无缝轮播
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​iOS实时查看App运行日志
  • ​油烟净化器电源安全,保障健康餐饮生活
  • # Redis 入门到精通(七)-- redis 删除策略
  • #APPINVENTOR学习记录
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (1)Hilt的基本概念和使用
  • (1)Nginx简介和安装教程
  • (C#)获取字符编码的类
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (十三)Flink SQL
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)插入排序
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)四层和七层负载均衡的区别
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .mp4格式的视频为何不能通过video标签在chrome浏览器中播放?