前端JavaScript面试技巧笔记(7)

知识点

    #常说的JS(浏览器执行的JS)分为两部分

JS基础知识(ECMA262标准)
JS-WEB-API(W3C标准)

    #DOM

DOM-Document Object model

    #DOM的本质

是将字符串的html代码结构化为JS可识别可操作的内容,即JS对象;

所以在获取节点之后,可以用属性的方式得到或修改内容,如
var p = document.getElementById('div1');
console.log(p.style.width);
p.className = 'class1';

    #DOM节点操作

节点获取方式:
var div1 = document.getElementById('div1');//通过ID获取
var div2 = document.getElementsByTagName('div')//通过tagname获取,中间有s
var div3 = document.getElementsByClassName('class')//通过类名获取,中间有s
var div4 = document.querySelectorAll('p');//括号内放选择器,返回指定选择器的所有结果
var div5 = document.querySelector('.class');//括号内放选择器,返回指定选择器所有结果的第一个

div2-div4获取的是集合,另外两个获取的是单个;
集合可以这样操作;
console.log(div2.length);
console.log(div2[0]);

    #property和attribute的区别

attribute操作的是html标签内的属性;
而property操作的是JS对象的属性;
如:
var p = document.getElementById('div1');
p.style.width = '100px'; //property

html代码中
<div date-name = "lalala" style = "width:100px;"></div>
<--这里的date-name和style是attribute-->
操作attribute属性要用到getAttribute和setattribute
如:
console.log(p.getAttribute('data-name'));
p.setAttribute('data-name','olaolaola');

    #DOM结构操作

新增节点
var div = document.getElementById('div1');
var p = document.createElement('p');
p.innerHTML = 'this is p1';
div.appendChild(p);

移动节点
var p2 = document.getElementById('div2');
div.appendChild(p2);//将p2从原有位置移动到div内

获取父元素
var parent = div.parentElement;

获取子元素
var child = div.childeNodes;//集合
//在获取子元素时可能会得到由空格或者字符组成的text元素,可以child[i].nodeName或.nodeType来过滤

删除节点
div.removeChild(child[0]);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值