当前位置: 首页 > 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');
}

相关文章:

  • redis列表若干记录
  • 如何使用用户名和密码访问salesforce的api
  • 【C++】C++11新增特性
  • 云计算实训31——playbook(剧本)基本应用、playbook常见语法、playbook和ansible操作的编排
  • ADB-DROM
  • 自学编程从哪个语言入手比较好?
  • 【数据结构初阶】二叉树--基本概念
  • Python实现文件复制和移动的高级技巧
  • 汽车免拆诊断案例 | 2013款北京现代悦动车发动机偶尔无法起动
  • 湖北风水大师李彦良受邀为徐东商圈武汉印楼盘做易经风水讲座
  • HTML左右分页更新【搬代码】
  • JavaScript语法基础之转义字符与注释
  • 【人工智能】Transformers之Pipeline(十):视频分类(video-classification)
  • 设计模式之解释器模式
  • 得到任务式 大模型应用开发学习方案
  • 字符函数和字符串函数(一)
  • 如何优雅的薅羊毛之Flux.1免费使用还支持中文prompt
  • Git使用方法(二)---常用命令-半小时学会git
  • Vue3项目-Electron构建桌面应用程序
  • 【软件造价咨询】软件造价之全国各省市功能点单价分析
  • 金价大反攻,国内金饰价格涨回千元,能否重返巅峰?
  • 百亿基金经理调仓路径曝光,张坤、陈皓、胡昕炜又有新动作
  • 新闻1+1丨多地政府食堂开放 “舌尖上的服务”,反映出怎样的理念转变?
  • 心期末后有人传——《钱谦益年谱长编》在钱氏故里首发
  • 特朗普要征100%关税,好莱坞这批境外摄制新片能躲过吗?
  • 年轻人能为“老有意思”做点什么