jquery.筛选&文档处理

我们今天来学习jquery的筛选和文档处理

一.了解今天所要学习的内容

筛选:包涵过滤和查找;过滤就是在jquery数组中过滤一部分元素,查找在jquery数组中根据选择器找孩子,父母,兄弟标签

文档处理:包涵增,删,改;增加有内部插入和外部插入

二.单词了解和用法代码展示

first()获得匹配的第一个元素

last()获得最后一个元素

eq()匹配第n个元素

filter筛选与指定表达式匹配的元素集合

has筛选包涵特定特点的元素

not筛选不包涵特定特点的元素

children()子标签查找

find()后代标签查找

parent父标签

prevAll前面所有的兄弟标签

nextAll后面所有的兄弟标签

siblings前后所有的兄弟标签

append将内容添加到指定元素后面

appendTo与append相反

prepend()将内容添加到指定元素前面

prependTo()与prepend相反

after匹配元素后插入内容

before匹配元素前插入内容

empty删除匹配的元素集合中所有的子节点(不包含匹配的元素)

remove删除匹配的元素集合中所有的子节点(包含匹配的元素)

parent拿父级

parents拿所有的父级

<body>
		<ul>
			<li class="a">aa1</li>
			<li>aa2</li>
			<li>aa3</li>
			<li>aa4</li>
			<li>aa5</li>
			<li>aa6</li>
		</ul>
		<div>
			<span></span>
			<i></i>
			<p>hello</p>
		</div>
		<div id="i">hi</div>
		<script src="./jquery-3.5.1.js"></script>
		<script>
			//first()获得匹配的第一个元素
			console.log($("li").first())
			//last()获得最后一个元素
			console.log($("li").last())
			//eq()匹配第n个元素
			console.log($("li").eq(0))
			//filter筛选与指定表达式匹配的元素集合
			console.log($("li").filter(".a"))
			//has筛选包涵特定特点的元素
			console.log($('li').has('ul').css('background-color', 'red'))
			//not筛选不包涵特定特点的元素
			console.log($("li").not($(".a")[0]))
			//children()子标签查找
			console.log($("div").children())
			//find()后代标签查找
			console.log($("div").find("p"))
			//parent父标签
			console.log($("p").parent())
			//prevAll前面所有的兄弟标签
			console.log($("p").prevAll())
			//nextAll后面所有的兄弟标签
			console.log($("span").nextAll())
			//siblings前后所有的兄弟标签
			console.log($("i").siblings())
			//append将内容添加到指定元素后面
			console.log($("p").append("<i>hi</i>"))
			//appendTo与append相反
			console.log($("p").appendTo("<i>"))
			//prepend()将内容添加到指定元素前面
			console.log($("p").prepend("<i>hi</i>"))
			//prependTo()与prepend相反
			console.log($("p").prependTo("#i"))
			//after匹配元素后插入内容
			console.log($("p").after("<b>hi</b>"))
			//before匹配元素前插入内容
			console.log($("p").after("<b>hi</b>"))
            //empty删除匹配的元素集合中所有的子节点(不包含匹配的元素)
			console.log($("p").empty())
			//remove删除匹配的元素集合中所有的子节点(包含匹配的元素)
			console.log($("p").remove())
            //parent拿父级
			console.log($("li").parent())
			//parents拿所有父级
			console.log($("li").parents())
		</script>
	</body>

注:在编写代码是在不经意的时候我往往会没注意将p标签中套i标签,这样是错误的,行级去套块级,还有p标签去套div标签,行级是不能套块级的,一定要注意。

三.案例展示

1.删除一行

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/jquery-3.5.1.js"></script>
</head>
<body>
<table border>
    <tr>
        <td>fdsfasfasfjkash</td>
        <td>fdsfasfasfjkash</td>
        <td>fdsfasfasfjkash</td>
        <td>fdsfasfasfjkash</td>
        <td>
            <p>
                <button onclick="$(this).parents('tr').remove()">删除</button>
            </p>
        </td>
    </tr>
    <tr>
        <td>fdsfasfasfjkash</td>
        <td>fdsfasfasfjkash</td>
        <td>fdsfasfasfjkash</td>
        <td>fdsfasfasfjkash</td>
        <td>
            <p>
                <button onclick="this.parentElement.parentElement.outerHTML=''">删除</button>
            </p>
        </td>
    </tr>
</table>
</body>
</html>

οnclick="$(this).parents('tr').temove()"

点击事件,将标签自己传入查找所有父级,找到tr标签,删除

οnclick="this.parentElement.parentElement.outerHTML=' ' "

点击事件,这个标签的父级元素的父级元素,替换成空字符串(注:outerHTML不含包括标签,innerHTML包括标签)

2.隔行换色

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        li{
            /*去除选项前面的点点*/
            list-style: none;
        }

        ul{
            /*调整了内边距*/
            padding: 0px;
        }

        p{
            background: #27d4b7;
        }

        ol{
            /*当前是不显示*/
            display: none;
        }

        /*激活的样式*/
        .active{
            background: blue;
            color: red;
        }

        /*激活的时候  它地下的ol*/
        .active ol{
            display: block;
        }
    </style>
</head>
<body>
<ul>
    <li>
        <p>纯纯的大无语事件</p>
        <ol>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
        </ol>
    </li>
    <li>
        <p>纯纯的315事件</p>
        <ol>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
        </ol>
    </li>
    <li>
        <p>纯纯的饿吴事件</p>
        <ol>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
        </ol>
    </li>
    <li>
        <p>纯纯的社死事件</p>
        <ol>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
            <li>AAAAAAAAAAA</li>
        </ol>
    </li>
</ul>
<script src="js/jquery-3.5.1.js"></script>
<script>
    //给所有的菜单设置点击事件
    $("p").click(function (){
        //this是js对象
        let li=$(this).parents("li")
        //移除其他(兄弟)菜单的激活样式
        li.siblings().removeClass("active")
        //给菜单添加激活的样式
        if(li.hasClass("active")){
            return li.removeClass("active")
        }
        li.addClass("active")
    })

</script>
</body>
</html>

click是jquery的点击事件

hasClass有这个属性用作判断

今天的学习就到这了,单词较多,还是那句话换词不换方,勤记单词。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值