操作BOM对象;操作DOM对象(更新;删除;插入节点)

操作BOM对象

浏览器介绍

BOM:浏览器对象模型

  • IE
  • Safari
  • Chrome
  • FireFox

三方

  • QQ浏览器
  • 360浏览器

window

window代表浏览器窗口

window.alert(1)
undefined

window.innerHeight
258

window.innerWidth
900

window.outerHeight
993

location

location代表当前页面的URL信息

host:"www.baidu.com"
href:"https://www.baidu.com/"
protocol:"https:"
reload:f reload() //刷新页面
//设置新的地址
location.assign(https://。。。。/)

document

document代表当前的页面,HTML DOM文档树

document.title
"百度一下,你就知道"
document。title=‘呵呵’
“呵呵”

获取具体的文档树节点

<dl id="app">
     <dt>JAVA</dt>
     <dd>a</dd>
     <dd>b</dd>
</dl>

<script>
   var  dl = document.getElementById('app');
</script>

获取cookie

document.cookie
"__guid=.........."

劫持cookie原理
wwwtaobao.com

有时当点击恶意弹窗时
<script src="aa.js"></scrpt>
//恶意人员:获取你的cookie上传到他的服务器

服务器端可以设置:cookie:httpOnly 这样可以保证安全性

history

history代表浏览器的历史记录

history.back()  //后退
history.forward() //前进

操作DOM对象

核心

浏览器页面就是一个DOM树形结构

  • 更新:更新DOM节点
  • 遍历dom节点:得到dom节点
  • 删除:删除一个dom节点
  • 添加:添加一个新的节点

在这里插入图片描述

要操作一个dom节点,就必须要现先获得这个dom节点

<div id="father">
<h1>标题一<h1>
<p id="p1">p1</p>
<p class="p2">p2</p>
</div>

            获得dom节点:
<script>
   //对应css选择器
   var h1 = document.getElementsByTagName('h1');
   var p1 = document.getElementsById('p1');
   var p2 = document.getElementsByClassName('p2');
   var father = document.getElementsById('father');

   var childrens = father.children;  //获取父节点下的所有子节点
           // father.firstChild
           // father.LastChild
</script>

以上是原声代码,之后尽量使用jQuery();

更新dom节点

<div  id="id1">
</div>

<script>
  var id1 = document.getElementById(‘id1’);
  
</script>




页面的控制台console上测试:

首先 document.getElementById('id1')  回车之后发现可以获取到这个节点
 然后可以进行   var id1 = document.getElementById('id1'); 将获取到的赋给id1,然后对这个id1进行操作 如下
id1.innerText='123'                     可以修改文本的值
"123"
id1.innerText='456'
"456"
id1.innerHTML='<string>123</string>'    可以解析HTML文本标签(这是在id1里面新建了一个)
"<string>123</string>"

通过js来修改css:

id1.style.color = 'yellow';
id1.style.fontSize = '20px';    //注意这里是驼峰命名法,属性使用 字符串 包裹
id1.style.padding = '2em';

删除DOM节点

删除节点的步骤:先获取父节点,再通过父节点删除自己

<div id = "father">
      <h1>标题一</h1>
      <p  id="p1">p1</p>
       <p  id="p2">p2</p>
</div>

<script>
   var self = document.getElementById('p1');
   var father = p1.parementElement;
    father.removeChild(self)


  //删除是一个动态的过程,所以下面这个操作不对,删除完第一个,总数也就减少了
  father.removeChild(father.children[0])
  father.removeChild(father.children[1])
  father.removeChild(father.children[2])
</script>

注意:删除多个节点的时候,children是在时刻变化的,删除节点的时候一定要注意

插入节点

我们获得了某个dom节点,假设这个dom节点是空的,我们通过innerHTML就可以增加一个元素了,但这个DOM节点已经存在元素了,我们就不能这么干了!会产生覆盖

追加(已存在的节点)appendChild

<p id = "js">1</p>

<div id = "list">

     <p  id = "se">JavaSE</P>
     <p  id = "ee">JavaEE</P>
     <p  id = "me">JavaME</P>
     
</div>

<script>
   var  js  =  document.getElementById('js');
   var  list = document.getElementById('list');
   list.appendChild(js);        将js这个元素添加到list元素的里面,追加到后面   
     
</script>

效果:
在这里插入图片描述

创建一个新的标签,然后再插入 先createElement 再appendChild

<script>
   var  js  =  document.getElementById('js');
   var  list = document.getElementById('list');
   
   通过JS创建一个新的节点:
   var newp = document.createElement('p');   创建一个p标签
   newp.id = 'newp';
   newp.innerText = 'hehe';

   然后再添加进去
   list.appendChild(newp);
    
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值