首页 > 其他分享 >JS(二)

JS(二)

时间:2022-11-04 00:11:09浏览次数:47  
标签:浏览器 tv JS window HTML document 节点

1. DOM

1.1 改变HTML

HTML DOM 允许 JavaScript 改变 HTML 元素的内容。

可用于直接向 HTML 输出流写内容。

document.getElementById("").innerHTML=新的 HTML用于修改变 HTML 元素的内容

语法 语法描述
document.write("") 直接向 HTML 输出流写内容
document.getElementById("id").attribute=新属性值 改变 HTML 元素的属性
document.getElementById("id").innerHTML=新的 HTML 改变 HTML 元素的内容
document.getElementById("id").value 设置或者获取input标签的value值
document.getElementById("id").innerText 设置或者是获取标签中间的内容

1.2 操作样式

语法:节点对象.style.属性名= 属性值

<body>
    <p>改变第一个段落p的颜色</p>
    <p>第二个p段落</p>
    <button onclick="showInfo()">点击改变样式</button>
    <script>
        function showInfo(){
            // [0]表示第一个元素,eg.只改变第一个p的颜色
            document.getElementsByTagName("p")[0].style.color="red";
        }
    </script>
</body>

1.3 绑定事件

1.3.1 直接在标签中绑定
<body>
    <p>一个段落</p>
    <button onclick="document.getElementsByTagName('p')[0].style.color='red'">点击</button>
</body>
1.3.2 使用函数绑定
1.3.2.1 方式一
<body>
    <input type="button" name="" id="tv_btn" value="点击">
    <script>
        document.getElementById("tv_btn").onclick=function(){
            alert("弹一个框");
        }
    </script>
</body>
1.3.2.2 方式二
<body>
    <input type="button" name="" id="" value="点击" onclick="showInfo()">
    <script>
        function showInfo(){
            console.log("点击我!有惊喜");
        }
    </script>
</body>
1.3.3 使用js提供的方法绑定
方法 描述
addEventListener() 用于向指定元素添加事件句柄。允许在目标事件中注册监听事件
removeEventListener() 移除由 addEventListener() 方法添加的事件句柄。运行一次注册在事件目标上的监听事件
<p>该实例使用 addEventListener() 方法在按钮中添加点击事件。 </p>
<button id="myBtn">点我</button>
<script>
document.getElementById("myBtn").addEventListener("click", function(){
    alert("Hello World!");
});
</script>

1.4 创建/删除节点

方法 描述
document.createElement() 创建节点对象
document.createTextNode() 创建文本节点
节点对象.appendChild() 添加父子关系
节点对象.removeChild() 删除子节点
<body>
    <input type="button" name="" id="" onclick="addEle()" value="增加"/>
    <input type="button" name="" id="" onclick="deleEle()" value="删除第2个段落"/>
    <div id="tv_div">
        <p>第一个段落p</p>
        <p id="tv_p">第2个段落p</p>
        <p>第3个段落p</p>
    </div>
    <script>
        function addEle(){
            //创建节点
            var tv_node = document.createElement("p");
            //创建文本节点
            var tv_ele = document.createTextNode("新增的段落p");
            //添加上下级关系    
            tv_node.appendChild(tv_ele);
            //根据id获取节点对象
            var tv_div = document.getElementById("tv_div");
            tv_div.appendChild(tv_node);
        }

        function deleEle() {
            //根据id获取节点对象
            var tv_p = document.getElementById("tv_p");
            //获取父节点
            var tv_div = document.getElementById("tv_div");
            //根据父节点删除子节点
            tv_div.removeChild(tv_p);
        }
    </script>

1.5 定时函数

方法 描述
setInterval("执行操作","间隔的时间(毫秒值)") 间隔多长时间多次执行操作
clearInterval("定时函数") 清除定时函数
setTimeout("执行操作","间隔的时间") 间隔多长时间执行一次
clearTimeout("定时函数") 清除定时函数
js 定时器有以下两个方法:
setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
setTimeout() :在指定的毫秒数后调用函数或计算表达式。

2. BOM

2.1 简介

浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。
浏览器对象模型(Browser Object Model (BOM))尚无正式标准。

2.2 组成

DOM对象也是BOM对象的一部分

2.3 window

所有浏览器都支持 window 对象。它表示浏览器窗口。
所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
全局变量是 window 对象的属性。
全局函数是 window 对象的方法。

2.4 window document

属性 描述
offsetWidth 获取标签的宽度
offsetHeight 获取标签的高度
window.innerHeight 浏览器窗口的内部高度(包括滚动条)
window.innerWidth 浏览器窗口的内部宽度(包括滚动条)

2.5 window screen

window.screen对象在编写时可以不使用 window 这个前缀。
一些属性:
screen.availWidth - 可用的屏幕宽度
screen.availHeight - 可用的屏幕高度

2.6 window location

window.location 对象在编写时可不使用 window 这个前缀。
一些实例:
location.hostname 返回 web 主机的域名
location.pathname 返回当前页面的路径和文件名
location.port 返回 web 主机的端口 (80 或 443)
location.protocol 返回所使用的 web 协议(http: 或 https:)
location.href 属性返回当前页面的 URL
location.assign() 方法加载新的文档

2.7 window history

window.history对象在编写时可不使用 window 这个前缀。
一些方法:
history.back() - 与在浏览器点击后退按钮相同
history.forward() - 与在浏览器中点击向前按钮相同

2.8 window navigator

window.navigator 对象在编写时可不使用 window 这个前缀。
navigator.appCodeName 浏览器代号 navigator.appName 浏览器名称 navigator.appVersion 浏览器版本 avigator.cookieEnabled 启用Cookies navigator.platform 硬件平台 navigator.userAgent 用户代理
警告!!!来自 navigator 对象的信息具有误导性.

标签:浏览器,tv,JS,window,HTML,document,节点
From: https://www.cnblogs.com/wyzel/p/16856342.html

相关文章

  • 用Nodejs 实现一个简单的 Redis客户端
    目录0.写在前面1.背景映入2.数据库选择3.NodejsTCP连接3.代码编写4.实验5.wireshark抓包分析6.杂与代码0.写在前面大家如果有去看过nodejs所支持的官方库的......
  • nodejs 密码加密
    1.新建了一个setPassword.js文件constcrypto=require("crypto");///导入加密模块functionsetPassword(pwd){letpassword=`${pwd}xxx`//加入一段特定字符......
  • JS中的pipe原理
    学习reduce()时遇到一个练习“功能型函数管道”,对于代码中的pipe不能理解,类似于下面这一行代码,信息量很丰富,有es6中的扩展运算符,箭头函数,reduce()方法。constpipe=(........
  • js基础01
    ExerciseTest01严格检查模式strict'usestrict';//预防js的随意性导致产生的一些问题,必须放在第一行leti=1;//局部变量建议都用let定义数据类型数......
  • 解决本地浏览器运行项目时的跨域问题-Access to XMLHttpRequest at ‘file:///D:/WebP
     解决本地浏览器运行项目时的跨域问题-AccesstoXMLHttpRequestat'file:///D:/WebPracties/xxxxxx/data/funData.json问题描述解决办法一解决办法二解决方法三问题描......
  • Controller输出JSON数据 乱码解决方案
    ​我们可以在springmvc的配置文件上添加一段消息StringHttpMessageConverter转换配置!<mvc:annotation-driven><mvc:message-convertersregister-defaults="true">......
  • js延迟加载、js异步加载
    1.js延迟加载(1)js延迟加载是js性能优化的一种方式(2)作用:为了提高网页的加载速度(3)原理:等网页加载完成之后再加载js文件··需要优化的原因:HTML元素......
  • js数组操作——对象数组根据某个相同的字段分组
    先说点废话最近在实际业务中,需要编写一个方法根据数组中每一个对象的一个相同字段,来将该字段值相等的对象重新编入一个数组,返回一个嵌套的数组对象,特地来做个总结。当然......
  • JS防抖与节流
    1.概念上的区别防抖:多次执行只有最后一次生效,必要参数[handle,time]节流:一段时间内只能执行一次,必要参数[handle,time]2.实现一下防抖:1functiondebounce......
  • ThreeJS 创建水面报错 /textures/water/Water_1_M_Normal.jpg 404 解决方法
    threeJS创建水面报错 /textures/water/Water_1_M_Normal.jpg404根据路径找不到水面相关图片,原因是npm包中未包含图片,并且图片路径指向当前开发环境的src目录下,解决......