首页 > 其他分享 >JS之BOM/DOM和jquery类库简介

JS之BOM/DOM和jquery类库简介

时间:2022-12-06 17:46:06浏览次数:48  
标签:类库 jquery DOM function 标签 js getElementById let document

目录

BOM操作

JavaScript分为 ECMAScript,DOM,BOM
BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”

window.open()  打开浏览器窗口
	window.open('https://www.sogou.com','','width=800px,left=200px')
window.close() 关闭当前浏览器窗口

navigator.userAgent
	标识自己是一个浏览器
history.forward()  前进一页
history.back()  后退一页

window.location.href
	获取当前页面所在的网址 也可以在加赋值符号和网址跳转
window.location.reload()	刷新当前页面

alert()  警告框
confirm() 确认框
prompt()  提示框

计时器相关操作(重要)
	 let t = setTimeout(showMsg, 3000)  // 3000毫秒之后执行函数
    clearTimeout(t)  // 取消任务

    s = setInterval(func, 3000)		// 每隔3000毫秒执行一次
    clearInterval(s)  // 取消任务


<body>
<script>
    function showMsg(){
        alert('快来爬取美女图片吧');
    }
    let t = setTimeout(showMsg,3000);  //等待3秒执行
    // clearTimeout(t);  //取消任务
    let s;
    function func(){
        alert('哈哈,快来玩啊')
    }
    s = setInterval(func,3000) //每隔3秒执行一次
    function inner(){
        clearInterval(s)
    }
    setTimeout(inner,9000)  //9000毫秒后取消间隔告警框
</script>
</body>

DOM操作

DOM (Document Object Model)是指文档对象模型,通过它可以访问HTML文档的所有元素
既然DOM操作是通过js代码来操作标签 所以我们需要先学习如何查找标签之后才能给标签绑定一些JS代码(DOM操作)

查找标签

"""
1.js中变量名的命名风格推荐是驼峰体
2.js代码查找到的标签如果需要反复使用可以用变量接收 规律 xxxEle
"""
document.getElementById('d1') 结果就是标签对象本身
document.getElementsByClassName('c1')
	结果是数组里面含有多个标签对象
document.getElementsByTagName('span')
	结果是数组里面含有多个标签对象

parentElement				父节点标签元素
children					所有子标签
firstElementChild			第一个子标签元素
lastElementChild			最后一个子标签元素
nextElementSibling			下一个兄弟标签元素
previousElementSibling		上一个兄弟标签元素

操作节点

代码:
<body>
<div>
    <p>今天天气不错 适合晒被子</p>
    <a href="#">点我啊</a>
</div>
</body>


// js代码创建一个标签
let aEle = document.createElement('a')

// js代码操作标签属性
aEle.href = 'http://www.lsmpx.com/'  只能添加默认的属性
setAttribute()兼容默认属性和自定义属性
getAttribute("age")
removeAttribute("age")

// js代码操作标签文本
aEle.innerText = '这个很攒劲!'

// js代码查找div标签并将a追加到div内部
let divEle = document.getElementsByTagName('div')[0]
divEle.appendChild(aEle)


.innerText  		 获取标签内部所有的文本内容
.innerText = '文本'  替换/设置标签内部的文本(不识别标签语法)

.innerHTML			获取标签内部所有的标签包含文本
.innerHTML = '文本'  替换/设置标签内部的文本(识别标签语法)

image

获取值操作

代码:
<form action="">
    <p>username:
        <input type="text" id="username">
    </p>
    <p>province:
        <select name="" id="pro">
            <option value="干饭">111</option>
            <option value="睡觉">222</option>
            <option value="学习">333</option>
        </select>
    </p>
    <p>file:
        <input type="file" id="file">
    </p>
</form>
var iEle = document.getElementById('username')
console.log(iEle.value);
var sEle = document.getElementById("pro")
console.log(sEle.value);
var fEle= document.getElementById("file")
console.log(fEle.value);

image

class与css操作

代码:
   <style>
        div {
            height: 400px;
            width:400px;
            border-radius: 50%;
        }
        .bg_red {
            background-color: red;
        }
        .bg_green {
            background-color:greenyellow;
        }
    </style>
</head>
<body>
    <p id="d1">今天周二啦</p>
<div id="d2" class="bg_green bg_red"></div>
</body>

let pEle=document.getElementById('d1')
pEle.style.color = 'blue';
pEle.style.fontSize = '24px';
let divEle = document.getElementById('d2')
divEle.classList
divEle.classList.contains("bg_red")
divEle.classList.toggle('bg_green')

1.js操作标签css样式
	标签对象.style.属性名(下划线没有 变成驼峰体)
2.js操作标签class属性
	 标签对象.classList.add()
  	 标签对象.classList.contains()
    标签对象.classList.remove()
    标签对象.classList.toggle()

事件

事件可以简单的理解为通过js代码给html标签绑定一些自定义的功能
常见事件
	onclick			当用户点击某个对象时调用的事件句柄
	onfocus			元素获得焦点
	onblur			元素失去焦点
	onchange		域的内容被改变
	...
绑定事件的多种方式
<!--绑定事件的方式1-->
<button onclick"showMsg()">快按我</button>
<!--绑定事件的方式2-->
<input type="button" value="快快快" id="d1">

        <script>
            function showMsg() {
                let msg = prompt('你确定要这样吗?');
                console.log(msg)
            }

            let inputEle = document.getElementById('d1');
            inputEle.onclick = function () {
                alert('谁在那里点我!!!')
            }
        </script>
事件函数中的this关键字
	this指代的就是当前被操作的标签对象本身
	如果事件函数内有多层嵌套那么最好在一开始用变量存储一下防止后续变化
onload方法
	xxx.onload  等待xxx加载完毕之后在执行后面的代码

代码:
   <script>
        window.onload = function (){
            function showMsg(){
                // let msg = prompt('你确定要这样吗?')
                // console.log(msg)
                console.log(this)
            }
            let inputEle = document.getElementById("d1");
            inputEle.onclick = function (){
                 // alert('谁在那里点我!!!')
                console.log(this.getAttribute('username'))
            }
        }
    </script>
</head>
<body>
<!--  绑定事件的方式1-->
<!--<button onclick="showMsg()">快按我</button>-->
<!--绑定事件的方式2-->
<input type="button" value="快快快" id="d1" username="jason">

image

事件实战案例

搜索框实例

<body>
<input type="text" value="游戏机" id="d1">
<script>
    let inputEle = document.getElementById("d1")
    inputEle.onfocus=function (){
        this.value = ''
    }
    inputEle.onblur = function (){
        this.value = '下次再来'
    }
</script>
</body>

image

jQuery类库

标签对象与jQuery对象

标签:类库,jquery,DOM,function,标签,js,getElementById,let,document
From: https://www.cnblogs.com/winter-yu1989/p/16955983.html

相关文章

  • Vue的keep-alive、虚拟DOM的作用、diff算法
    一、keep-alive作用:keep-alive标签是vue的内置标签,可在组件切换过程中将状态保留在内存中,防止DOM重复渲染。标签属性:include:符合条件的组件会被缓存,exclude:符合条件的组......
  • 前端第五课---BOM操作与DOM操作与jQuery类库简介
    昨日内容回顾JavaScript简介1.发展史2.编程语言3.注释语法 4.引入方式 变量与常量var\let\const基本数据类型数值类型 Number字符类型 String布尔......
  • Image Upload based on jQuery
    今天把自己写的一个简单的jQuery上传插件放到了Git@OSC上了,希望能帮助需要的人,并且得到高人的指点,一起用心的维护下去)插件很简单,目前只提供图片的上传功能,包括预览,进度条显......
  • jquery ui-datapicker格式小结
    在jquerydataui-picker中,支持不同的格式,就是当用户选择了日历上的日期后,显示用户所选的日期格式,例子如下:<linkrel="Stylesheet"type="text/css"......
  • day37 操作bom对象,dom对象
    操作bom对象bom:浏览器对象模型window对象代表浏览器窗口 //window.alert(22)window.innerHeight//595window.innerWidth//131window.innerWidth//322......
  • day32-JQuery05
    jQuery059.作业9.1homework01对多选框进行操作,输出选中的多选框的个数,并且把选中爱好的名称显示。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-......
  • React Warning: validateDOMNesting(...): <div> cannot appear as a descendant of <p>.
    报错信息umi.js:68474Warning:validateDOMNesting(...):<div>cannotappearasadescendantof<p>.其实不难看出是它提示你应该在p标签中写一个select这里造成错误......
  • 前端知识-08-jQuery
    jQuery介绍jQuery是一个轻量级的、兼容多浏览器的JavaScript库。jQuery使用户能够更方便地处理HTMLDocument、Events、实现动画效果、方便地进行Ajax交互,能够极大地简......
  • 前端基础-04-BOM和DOM
    前戏到目前为止,我们已经学过了JavaScript的一些简单的语法。但是这些简单的语法,并没有和浏览器有任何交互。也就是我们还不能制作一些我们经常看到的网页的一些交互,我们......
  • jquery插件系列之 - Slider滑块
    概述    滑动条是一种简单的设置一定范围内参数的插件。    官方示例地址:http://jqueryui.com/demos/slider/          ·参数(参数名:参数类型:......