前端基础——JavaScript部分(三)DOM对象,表单,jQuery

操作DOM对象

DOM:文档对象模型
核心:浏览器网页就是一个Dom树形结构!

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

要操作一个Dom节点,必须先获得它

- 获得Dom节点

<div id="father">
    <h1>标题1</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 childrens=father.children;  //获取父节点下的所有子节点
    //father.firstChild
    // father.lastChild
</script>

这是原生代码,之后都用jQuery();

- 更新Dom节点

<div id="father">
</div>
<script>
    var father=document.getElementById('father')
</script>

操作文本:

  • father.innerText=‘123’ 修改文本的值

  • father.innerHTML=‘123’ 可以解析html文本标签

操作css:

father.style.color='red'   //属性使用字符串
father.style.fontSize='50px'  //-转驼峰命名
father.style.padding='50px'

- 删除Dom节点

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

<div id="father">
    <h1>标题1</h1>
    <p id="p1">p1</p>
    <p class="p2">p2</p>
</div>
<script>
var self=document.getElementById('p1')
var father=p1.parentElement;
father.removeChild(p1)
//删除是一个动态的过程,下标动态更新
father.removeChild(father.children[0])
father.removeChild(father.children[0])
father.removeChild(father.children[0])       //这样三个就都删掉了
</script>

- 插入Dom节点

  • innerHTML
  • appendChild();
 //获取父节点
    let father=document.getElementsByTagName('div');
    father=father[0];
    //方法一:设置父元素的HTML代码
    //会覆盖原有HTML内容,空元素中添加可以使用
    father.innerHTML="<p>hello!</p>";
    //方法二:appendChild()方法
    father.parentNode.appendChild(father.firstChild);
    //创建一个新的标签
    let p=document.createElement('p');
    p.style.color='red';//设置样式
    //标签的属性(比如a的href script的src)都是节点的属性,可以设置
    p.setAttribute('id','id1');//也可以使用.xxx=的形式,但更推荐这种
    p.innerText="新朋友";
    father.appendChild(p);

操作表单

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

  • 表单的目的:提交信息
<form action="post">
    <span>用户名:</span><input type="text" id="username">
    <input type="radio" name="sex" value="man" id="boy"><input type="radio" name="sex" value="woman" id="girl"></form>

<script>
    let input_text=document.getElementById('username');
    console.log(input_text.value);//获得输入框的值
    //对于多选或者单选框,value对应的只是在表单提交时,key对应的value值
    //想要获取单选框或者多选框中对应选项是否被选中,应该访问.checked属性
    document.getElementById('boy').checked=true;//设置为选中状态
</script>
  • 提交表单
<form method="post" action="index.html" onsubmit="return submit();">
    <span>用户名:</span><input type="text" id="username" name="username">
    <span>密码:</span><input type="password" id="password" name="password">
<!--    绑定事件 onclick被点击-->
    <button type="submit"></button>
</form>

<script>
    function submit() {
        let input_username=document.getElementById('username');
        let input_password=document.getElementById('password');
        //md5加密
        input_password.value=md5(input_password.value);
        //可以在此进行输入格式验证 比如密码是否同时用数字字母符号
        //由于表单在onsubmit设置为return submit();
        //可以在函数中设置返回值来控制表单是否提交 return false则不提交
        return false;
    }
</script>

jQuery

初识

公式:$(selector).action()

<head>
    <meta charset="UTF-8">
    <title>Title</title>
<!--    两种引入jQuery的方法-->
    <script src="lib/jquery-3.5.1.min.js"></script>
<!-- <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"> </script>  -->

</head>
<body>


<a href="" id="test_jquery">点我</a>
<script>
    document.getElementById('id');
    //selector就是css的选择器
    $('#test_jquery' ).click(function () {
     alert('hello,jQuery');
    })
</script>
</body>

选择器

 //原生js,选择器少,麻烦不好记
    //标签
    document.getElementsByTagName();
    //id
    document.getElementById();
    //类
    document.getElementsByClassName();
    //jQuery:css中所有选择器都能用
    $('p').click();  //标签
    $('#id1').click();  //id
    $('.class1').click();   //类

jQuery事件

$('p').mousedown();//鼠标按下
$('p').mouseenter(function () {alert("爬");});//鼠标进入

jQuery操作DOM对象

let text;
    text =$('body').text();//获得值
    $('body').text("设置值");//设置值
    text =$('body').html();//获得值
    $('body').html("设置值");//设置值
    //添加css样式:不会覆盖
    $('body').css('color','red');
    $('body').css('background','black');

    //隐藏和显示
    $('body').hide();
    $('body').show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值