jQuery选择器及事件

选择器
一、基本选择器
对于了解css的前端新成员来说,基本选择器就像css选择器一样,如现在有一个div,class名为aaa:

<div class=“aaa”>A</div>

我们可以通过jQuery获取这个元素

<scrept>
     $(“.aaa”).css(“color”,”red”);
     //$(“.aaa”)就是我们获取的div块
</script>

同样jQuery也支持id选择器、元素选择器、全选择器(*)和多个选择器合并的基础选择器
二、属性选择器
1.[attribute] 属性选择器
匹配包含给定属性的元素,用于判断拥有某个属性的元素

2.[attribute=value] 属性选择器
匹配给定的属性的值是value的元素

3.[attribute!=value] 属性选择器
匹配给定的属性的值不等于value的元素

4.[attribute^=value] 属性选择器
匹配给定的属性的值是以value开头的元素

5.[attribute$=value] 属性选择器
匹配给定的属性的值是以value结尾的元素

6.[attribute*=value] 属性选择器
匹配给定的属性的值包含value的元素

7.[selector1][selector2][selectorN] 多个属性选择器
复合属性选择器,需要同时满足多个条件时使用,多个属性值取交集
示例:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
    <style type="text/css">
        .back{
            background-color: #1a71a8;
        }
    </style>
</head>
<body>
<!--<div class="div1">A</div>-->
<input type="text"tabindex="1" name="username" id="user-one">
<input type="text"tabindex="2" name="password"  id="user-two">
<input type="text"tabindex="3" name="location" id="user-three">
<input type="text"tabindex="4" name="sex" id="user-four">
<script type="application/javascript">

    $(function () {       $("input[name='username']").css("background-color","#c6c6c6");    $("input[name='password']").addClass("back");    $("input[name*='l']").addClass("back");
$("input[id$='two']").addClass("back");
    });
</script>
</body>
</html>

三、基础过滤器
1.$(“div:first”)选取所有div元素中的第一个div元素

2.$(“div:last”)选取所有div元素中的最后一个div元素

3.$(“input:not(.myClass)”)选取class不是myClass的input元素

4..$(“input:even”)选取索引是偶数的input元素

5.$(“input:odd”)选取索引是奇数的input元素

6.$(“input:eq(1)”)选取索引等于1的input元素

7.$(“input:gt(1)”)选取索引大于1的input元素(注:大于1,而不包括1)

8.$(“input:lt(1)”)选取索引小于1的input元素(注:小于1,而不包括1)

9.$(“:header”)选取网页中所有的h1、h2…

10.$(“div:animated”)选取正在执行动画的div元素
示例:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>过滤器</title>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
    <style type="text/css">
        .back{
            background-color: #e99494;
        }
        div{
            width: 100px;
            height: 100px;
            background-color: #70bfef;
        }
    </style>
</head>
<body>
<div ></div>
<div class="tagbug"></div>
<div></div>
<script type="application/javascript">
    $(function () {
         var animaIt=function () {
             $(".tagbug").fadeToggle("slow");
         }
    });
</script>
</body>
</html>

四、内容过滤性选择器
1.$(“div:contains(‘我’)”)选取含有文本’我’的div元素

2.$(“div:empty”)选取不包含子元素(包括文本元素)的div空元素

3.$(“div:has(p)”)选取含有p元素的div元素

4.$(“div:parent”)选取拥有子元素(包含文本元素)的div元素

五、可见性过滤器
1..$(“:hidden”)选取所有不可见的元素

六、属性过滤选择器
1.$(“div[id]”)选取拥有属性id的元素

2.$(“div[title=test]”)选取属性title为”test”的div元素

3..$(“div[title!=test]”)选取属性title不等于”test”的div元素(注意:没有属性title的div元素也会被选取)

4..$(“div[title^test]”)选取属性title以”test”开始的div元素

5.("div[title=test]”)选取属性title以”test”结束的div元素

6..$(“div[title*=test]”)选取属性title含有”test”的div元素

7..("div[id][title=’test’]”)选取拥有属性id,并且属性title以”test”结束的div元素

七、子元素过滤选择器
1.:nth-child(index/even/odd)选取每个父元素下的第index个子元素或者奇偶元素 :eq(index)只匹配一个元素,并且是总0算起的,而:nth-child将为每一个父元素匹 配子元素,并且:nth-child(index)的index是从1开始的。

2.:first-child只返回单个元素,而:first-child选择符将为每个父元素匹配第一个元素 例如$(“ul li:first-child”);选取每个ul中的第一个li元素

3.:last-child选取每个父元素的最后一个子元素,同样:last返回单个元素,而:last-child 选择符将为每个父元素匹配最后一个子元素 例如$(“ul li:last-child”)选择每个ul中的最后一个li元素

4.:only-child如果某个元素师它父元素中唯一的子元素,那么它将会被匹配,如果父元素中含有 其它元素,则不会被匹配。

例如:$(“ul li:only-child”)在ul中选取是唯一子元素的li元素 :nth-child()选择器是很常用的子元素过滤选择器,详细功能如下:

:nth-child(even)能选取每个父元素下的索引值是偶数的元素

:nth-child(odd)能选取每个父元素下的索引值是奇数的元素

:nth-child(2)能选取每个父元素下的索引值等于2的元素

:nth-child(3n)能选取每个父元素下的索引值是3的倍数的元素,(n从0开始)

:nth-child(3n+1)能选取每个父元素下的索引值是(3n+1)的元素。

(n从0开始) 例如:
$(‘div.one:nth-child(2)’).css(“background”,”red”)表示改变每个class为one的div父元素下 的第二个子元素的背景色

$(‘div.one:first-child’).css(“background”,”red”)表示改变每个class为one的div父元素下的第一个子元素的背景色

$(‘div.one:last-child’).css(“background”,”red”)表示改变每个class为one的div父元素的最后一个子元素的背景色

$(‘div.one:only-child’).css(“background”,”red”)表示如果class为one的div父元素下只有一个子元素,那么则改变这个子元素的背景色

八、表单对象属性过滤选择器
1. $(“#form1 :enabled”)选取id为”form1”的表单内所有可用元素

2.$(“#form1:disabled”)选取id为”form2”的表单内所有不可用元素

3.$(“input:checked”)选取所有被选中的input元素

4.$(“select:selected”)选取所有被算中的选项元素

5.$(“:input”)选取选取所有input

6.$(“:text”)选取所有的单行文本框

7.$(“:password”)选取所有的密码框

8.$(“:radio”)选取所有的单选框

9.$(“:checkbox”)选取所有的复选框

10.$(“:submit”)选取所有的提交按钮

11.$(“:image”)选取所有的图像按钮

12.$(“:reset”)选取所有的重置按钮

13.$(“:button”)选取所有的按钮

14.$(“:file”)选取所有的上传域

15.$(“:hidden”)选取所有的不可见元素

jQuery浏览器事件以及文档加载事件
一、鼠标事件
鼠标事件是在用户移动鼠标光标或者使用任意鼠标键点击时触发的。
.click事件:click事件于用户在元素敲击鼠标左键,并在相同元素上松开左键时触发。
(p).click(function()alert(clickfunctionisrunning!););.dbclickdbclick使(‘p’).dbclick(function(){
alert(‘dbclick function is running !’);
});
.mousedown事件:mousedown事件在用户敲击鼠标键时触发,跟keydown事件不一样,该事件仅在按下鼠标时触发。
(p).mousedown(function()alert(mousedownfunctionisrunning!););.mouseupmouseupclick(‘p’).mouseup(function(){
alert(‘mouseup function is running !’);
}).click(function(){
alert(‘click function is running too !’);
});
.mouseover事件:mouseover事件于用户把鼠标从一个元素移动到另外一个元素上时触发,如果需要知道来自那个元素可以使用,relatedTagrget属性。
.mouseout事件:mouseout事件于用户把鼠标移出一个元素时触发,这包括从父元素移动到子元素上,或者使用键盘跳到元素上。
.mouseenter事件:mouseenter事件是在用户光标进入元素上时触发。
(p).mouseenter(function()alert(mouseenterfunctionisrunning!););.mouseleavermouseleaver(‘p’).mouseleaver(function(){
alert(‘mouseleaver function is running !’);
});
(7)和(8)这两个事件一般连起来使用,在jQuery中可以使用hover这个函数来代替这两个函数。
$(‘p’).hover(function(){
alert(‘mouseenter function is running !’);
},function(){
alert(‘mouseleaver function is running !’);
});
二、键盘事件
1、keydown():在键盘按下时触发。

2、keyup():是按下键盘起来后的事件。

3、keypress():在敲击按键时触发,我们可以理解为按下并抬起同一个按键。

三、浏览器事件及文档加载事件
浏览器事件:
1. error()
2. resize()
3. scroll()
文档加载:
1 $(function () { });

2 $(document).ready(function () { });

3 window.onload = function () { }

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
    <style type="text/css">
        .back{
            background-color: #70bfef;
        }
    </style>
</head>
<body>
<fieldset>
<input type="text" tabindex="1">
<input type="text" tabindex="2">
<input type="text" tabindex="3">
<input type="text" tabindex="4">
<input type="text" tabindex="5">
</fieldset>
<script type="application/javascript">
    $(function () {
        $("fieldset").delegate("input","focus blur",function () {
            var inp=$("this");
            setTimeout(function () {
                inp.toggleClass("back",inp.is(":focus"));
            },100);
        });
    });
</script>
</body>
</html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery绑定事件</title>
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
    <style type="text/css">
        div{
            width: 400px;
            height: 400px;
            background-color: #b6b6b6;
        }
        p{
            width: 200px;
            height: 200px;
            background-color: #e99494;
        }
    </style>
</head>
<body>
<div>
    <p></p>
</div>
<script type="application/javascript">
    $(function () {
//       $("div").delegate("p","click",function () {
//           alert("点击P标签");//单击事件
////       }) ;
//        $("div").bind("click mouseover",function (evt) {
//            if(evt.type=="click"){
//                alert("akakka");
//            }
//          else if(evt.type=="mouseover"){
//                alert("g划过");//鼠标滑过事件
//            }
//       });
//        $(window).resize(function () {
//           alert("改变大小");//窗口大校改变事件
//        });
//        var textone=function () {
//            alert("dianji");
//        }
//        $("div").on("click",textone);//on的使用方法
//
        $("p").bind("click",function (evt) {            alert(evt.currentTarget+"++++"+evt.delegateTarget+"+++"+evt.pageX);//事件对象
        })
    });
</script>
</body>
</html>
内容概要:本文详细介绍了一个基于Java和Vue的联邦学习隐私保护推荐系统的设计与实现。系统采用联邦学习架构,使用户数据在本地完成模型训练,仅上传加密后的模型参数或梯度,通过中心服务器进行联邦平均聚合,从而实现数据隐私保护与协同建模的双重目标。项目涵盖完整的系统架构设计,包括本地模型训练、中心参数聚合、安全通信、前后端解耦、推荐算法插件化等模块,并结合差分隐私与同态加密等技术强化安全性。同时,系统通过Vue前端实现用户行为采集与个性化推荐展示,Java后端支撑高并发服务与日志处理,形成“本地训练—参数上传—全局聚合—模型下发—个性化微调”的完整闭环。文中还提供了关键模块的代码示例,如特征提取、模型聚合、加密上传等,增强了项目的可实施性与工程参考价值。 适合人群:具备一定Java和Vue开发基础,熟悉Spring Boot、RESTful API、分布式系统或机器学习相关技术,从事推荐系统、隐私计算或全栈开发方向的研发人员。 使用场景及目标:①学习联邦学习在推荐系统中的工程落地方法;②掌握隐私保护机制(如加密传输、差分隐私)与模型聚合技术的集成;③构建高安全、可扩展的分布式推荐系统原型;④实现前后端协同的个性化推荐闭环系统。 阅读建议:建议结合代码示例深入理解联邦学习流程,重点关注本地训练与全局聚合的协同逻辑,同时可基于项目架构进行算法替换与功能扩展,适用于科研验证与工业级系统原型开发。
源码来自:https://pan.quark.cn/s/a4b39357ea24 遗传算法 - 简书 遗传算法的理论是根据达尔文进化论而设计出来的算法: 人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因。 遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。 进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解 依据某些适应性条件测算这些候选解的适应度 根据适应度保留某些候选解,放弃其他候选解 对保留的候选解进行某些操作,生成新的候选解 遗传算法流程 遗传算法的一般步骤 my_fitness函数 评估每条染色体所对应个体的适应度 升序排列适应度评估值,选出 前 parent_number 个 个体作为 待选 parent 种群(适应度函数的值越小越好) 从 待选 parent 种群 中随机选择 2 个个体作为父方和母方。 抽取父母双方的染色体,进行交叉,产生 2 个子代。 (交叉概率) 对子代(parent + 生成的 child)的染色体进行变异。 (变异概率) 重复3,4,5步骤,直到新种群(parentnumber + childnumber)的产生。 循环以上步骤直至找到满意的解。 名词解释 交叉概率:两个个体进行交配的概率。 例如,交配概率为0.8,则80%的“夫妻”会生育后代。 变异概率:所有的基因中发生变异的占总体的比例。 GA函数 适应度函数 适应度函数由解决的问题决定。 举一个平方和的例子。 简单的平方和问题 求函数的最小值,其中每个变量的取值区间都是 [-1, ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值