JavaScript中BOM.DOM,操作表单,初级jQuery学习笔记

1.JavaScript中操作BOM对象

因为JavaScript是一个弱脚本类型语言,前面基础与Java差不多而且比JavaSE的规范相对宽松,所以就不做前面的笔记了^ - ^

BOM:浏览器对象模型

window

window代表浏览器窗口

window.alert(1)
undefined
window.innerHeight
578
window.innerWidth
785
window.outerHeight
824

Navigator

Navigator 封装了浏览器的信息

navigator.appName
"Netscape"
navigator.appCodeName
"Mozilla"
navigator.appVersion
"5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
navigator.userActivation
UserActivation {hasBeenActive: true, isActive: true}
navigator.userAgent
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"

大多数时候不会使用navigator对象,因为会被人为修改

screen(屏幕尺寸)

screen.width
1536
screen.height
864

location

location代表当前页面的URL信息

origin: "https://cn.bing.com"
protocol: "https:"
host: "cn.bing.com"
hostname: "cn.bing.com"
port: ""
pathname: "/"
search: ""
hash: ""
href: "https://cn.bing.com/"

reload(重新加载)
assign(设置新的地址)

document

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

document.title
"微软 Bing 搜索 - 国内版"
document.location
Location {href: "https://cn.bing.com/", ancestorOrigins: DOMStringList, origin: "https://cn.bing.com", protocol: "https:", host: "cn.bing.com",}

获取具体的文档树节点

<dl id="app">
    <dt>java</dt>
    <dd>javase</dd>
    <dd>javaee</dd>
</dl>
<script>
    var  dl = document.getElementById('app');
</script>

history(浏览器的历史记录)

history
History {length: 1, scrollRestoration: "auto", state: null}length: 1scrollRestoration: "auto"state: null__proto__: History
history.back(后退)
ƒ back() { [native code] }
history.forward(前进)
ƒ forward() { [native code] }

2.操作DOM对象

DOM:文档对象模型

核心

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

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

要操作一个DOM节点,必须先获取节点

获得DOM节点

<div id="father">
    <h1>标题一</h1>
    <p id="p1">p1</p>
    <p class="p2">p2</p>
</div>
<script>
    //对应CSS选择器
    var h1 = document.getElementsByTagName('h1');
    var p1 = document.getElementById('p1');
    var p2 = document.getElementsByClassName('p2');
    var father = document.getElementById('father');
    var children = father.children;//获取父节点下的所有子节点
    
</script>

更新节点

<div id="id1">
</div>
<script>
    var id1 = document.getElementById('id1');
</script>
  • id1.innerText = ‘123’//修改文本的值
  • id1.innerHTML=’ 123

删除节点

删除节点的步骤:

先获取父节点,再通过父节点删除自己

p1.parentElement//获取父节点
<div id="father">​…​</div>​
father.removeChild(p1)//用父节点删除自己
<p id="p1">​p1​</p>

插入节点

获得某个DOM节点,假设是空的,就可以直接通过innerHTML增加一个元素,若为非空则会覆盖原来的内容

那么就需要用追加操作

<p id="JS">JavaScript</p>
<div id="list">
    <p id="ee">JavaEE</p>
    <p id="se">JavaSE</p>
    <p id="me">JavaME</p>
</div>

<script>
    var js = document.getElementById('JS');
    var list = document.getElementById('list');
    list.appendChild(js)//追加
</script>

创建一个新的标签,实现插入

<script>
    var js = document.getElementById('JS');
    var list = document.getElementById('list');
    var newP  = document.createElement('p');
    newP.id = 'newP';
    newP.innerText = 'heelo';
    list.appendChild(newP);
</script>

insert

<script>
    var ee = document.getElementById('ee');
    var JS = document.getElementById('JS');
    var list = document.getElementById('list');
    //要包含的节点 insertBefore(newNode,targetNode)
    list.insertBefore(JS,ee);

3.操作表单

  • 文本框 text
  • 下拉框
  • 单选框 radio
  • 多选框 checkbox
  • 隐藏域 hidden
  • 密码框 password

获得要提交的信息

<form action="post">
    <p>
        <span>用户名:</span> <input type="text" id="username">
    </p>
    <p>
        <span>性别:</span>
        <input type="radio" name="sex" value="man" id="boy"><input type="radio" name="sex" value="women" id="girl"></p>
</form>
<script>
    var input_text = document.getElementById('username');
    var boy_radio= document.getElementById('boy');
    var girl_radio = document.getElementById('girl');
    //得到输入框的值
    input_text.value
    //修改输入框的值
    input_text.value = '123'
    //对于单选框,多选框等固定的值。boy_radio.value只能取到当前的值
    boy_radio.checked //根据返回值判断

MD5加密表单

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/blueimp-md5/2.17.0/js/md5.js"></script>//MD5加密工具类
</head>
<body>

<form action="#" method="post" onsubmit="return aaa()">
    <p>
        <span>用户名:</span> <input type="text" id="username" name="username">
    </p>
    <p>
        <span>密码:</span> <input type="password" id="input_password" >
    </p>
    <input type="hidden" id="md5-password" name="password">
    <button type="submit" onclick="a()">提交</button>
</form>
<script>
    function a() {
        var uname = document.getElementById('username');
        var pwd = document.getElementById('password');
        var md5pwd = document.getElementById('md5-password');
        //MD5算法

        md5pwd.value = md5(pwd.value);

    }
</script>

4.jQuery

jQuery库:里面存在大量的JavaScript函数

获取jQuery

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
//CDN引入
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
</head>
<body>

</body>
</html>

jQuery公式:$(selector).action()

选择器

//原生js
    //标签选择器
    document.getElementsByTagName()
    //id选择器
    document.getElementById()
    //类选择器
    document.getElementsByClassName()
    //jQuery
    $('p').click()//标签选择器
    $('#id').click()//id选择器
    $('.class').click()//类选择器

文档工具站:https://jquery.cuishifeng.cn/

事件

  • 鼠标事件

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
        <style>
            #divMove{
                width: 500px;
                height: 500px;
                border: 1px solid red;
            }
        </style>
    </head>
    <body>
    mouse: <span id="mouseMove"></span>
    <div id="divMove">
        在这里移动鼠标试试
    </div>
    <script>
        //当网页元素加载完毕之后,响应事件
        $(document).ready(function () {
            $('#divMove').mousemove(function(e){
                $('#mouseMove').text('x'+e.pageX+'y'+e.pageY)
            })
        })
    </script>
    </body>
    </html>
    
  • 键盘事件

  • 其他事件

JavaScript完结撒花!!!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值