一文搞懂jQuery

本文详细介绍了jQuery的基础选择器、层次选择器、筛选选择器,以及其在属性操作、CSS样式、内容过滤和排他思想中的应用。通过实例演示,学习如何用jQuery高效地操作DOM和实现常见交互效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一文搞懂jQuery

什么是jQuery?

jQuery:javascript + query。
使用前期,jQuery侧重于快速找到页面上的各种节点。
使用后期,jQuer丰富了事件操作,ajax操作,动画效果,DOM操作等等。jQuery是对javascript封装的一个框架包,它简化了javacript的操作。

javascript代码:获得页面节点对象,ajax元素节点对象实现,事件操作,事件对象。

jQuery代码:无需考虑浏览器兼容问题,代码量少。

重点:(操作元素)

  • jquery方式操作属性(attribute):
    • $().attr(属性名称); //获得属性信息值
    • $().attr(属性名称,值); //设置属性的信息
    • $().removeAttr(属性名称); //删除属性
  • JS方式操作属性(attribute):
    • itnode.属性名称
    • itnode.属性名称= 值;
    • itnode.getAttribute(属性名称);
    • itnode.setAttribute(属性名称,值);

jQuery 中 attr() 和 prop() 方法的区别:具有 true 和 false 两个值的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()


css样式操作

  • $().css(name,value); //设置

  • $().css(name); //获取

css()样式操作特点:

① 样式获取,jquery可以获取 行内、内部、外部的样式。dom方式只能获得行内样式② 复合属性样式需要拆分为"具体样式"才可以操作例如:

background 需要拆分为 background-color , background-image 等进行操作 border:
border-left-style ,border-left-width ,border-left-color 等

jQuery怎么使用?

一:基础选择器:

原生 JS 获取元素方式很多,很杂,而且兼容性情况不一致,因此 jQuery 给我们做了封装,使获取元素统一标准。

举个栗子:

在这里插入图片描述

  • $(‘#id’)----->document.getElementById(‘id’);

    • jQuery: $(‘#callen’);
    • javascrip:document.getElementById(“callen”);

  • $(‘tag’)----->document.getElementsByTagName(‘tag’);

    • jQuery:$(‘a’);
    • javascrip:document.getElementsByTagName(‘a’);

  • $(‘.class’) class属性选择器:
    • $(‘.type1’)

  • $(‘*’) 通配符选择器

  • $(‘s1,s2,s3’) 联合选择器
    • $(‘.type1,#callen’);
总结
名称用法描述
ID选择器$(‘#id’)获取指定ID元素
全选选择器$(‘*’)匹配所有的元素
类选择器$(‘.class’)获取同一类class的元素
标签选择器$(‘div’)获取同类标签的所有元素
并集选择器$(‘div,#id,li’)选取多个元素
交集选择器$(‘li.type1’)交集元素
属性选择器$(‘input[name=“username”]’)获取标签下属性名匹配的元素

二:层次选择器:

  • ①后代选择器:$(s1 s2) 写法区别于并集选择器,规则:在S1内获取全部的S2节点

请添加图片描述


  • ②子代选择器:$(S1 > S2) 规则:找S1的名字叫S2的儿子(孙子不算)
    在这里插入图片描述

  • ③直接兄弟选择器:$(S1 + S2) 规则:在s1后边获得紧紧挨着的第一个兄弟关系的s2节点
    在这里插入图片描述

  • ④所有兄弟选择器:$(S1 ~ S2) 获取S1后面全部名字为S2的兄弟
    在这里插入图片描述

三:筛选选择器:

语法用法描述
:first$(‘tr:first’)匹配找到的第一个tr元素
:last$(‘tr:last’)匹配找到的最后一个tr元素
:not(selector)$(‘tr:not(’#id’)')去除所有与给定选择器匹配的元素
:eq(index)$(‘tr:eq(2)’)匹配一个给定索引值的元素,从0开始计数
:gt(index)$(‘tr:gt(2)’)匹配所有大于给定索引值的元素,从0开始计数
:lt(index)$(‘tr:li(2)’)匹配所有小于给定索引值的元素,从0开始计数
:even$(‘li:even’)匹配所有索引值为偶数的元素,从0开始计数
:odd$(‘li:odd’)匹配所有索引值为奇数的元素,从0开始计数

四:筛选方法

语法用法说明
parent()$(“li”) . parent();查找li的父级
children(selector)$(“ul”) . children(“li”);相当于$(“ul > li”) , 找最近一级(找亲儿子)
find(selector)$(“ul”) .f ind(“li”);相当于$(“ul li”),后代选择器
siblings(selector)$(“.first”).siblings(“li”);查找兄弟节点,不包括自己本身
nextAll([expr])$(“.first”) . nextAll();查找当前元素之后所有的同辈元素
prevAll([expr])$(“.last”) . prevAll();查找当前元素之前所有的同辈元素
eq(index)$(“li”) . eq(2);相当于$(‘li:eq(2)’)
hasClass(class)$(‘div’) . hasClass(“protected”)检查当前的元素是否含有某个特定的类,如果有,则返回true

五:内容过滤选择器

语法使用说明
:contains$(“div:contains(beijing)”)包含内容选择器,获得节点内部必须通过标签包含指定的内容
:empty$(“div:empty”)获得空元素(内部没有任何元素/文本(空) )节点对象
:has$(“div:has(#apple)”)内部包含指定元素的选择器
:parent$(“div:parent”)寻找的节点必须作为父元素节点存在(必须是别人的父亲)

六 :jQuery 里面的排他思想

想要多选一的效果,排他思想:当前元素设置样式,其余的兄弟元素清除样式。

  • $(this).css(“color”,”red”);

  • $(this).siblings(). css(“color”,””);

案例:淘宝服饰精品案例分析

核心原理:鼠标经过左侧盒子某个小li,就让内容区盒子相对应图片显示,其余的图片隐藏。

需要得到当前小li 的索引号,就可以显示对应索引号的图片

jQuery 得到当前元素索引号 $(this).index()

中间对应的图片,可以通过 eq(index) 方法去选择

显示元素 show() 隐藏元素 hide()

七:jQuery对象与DOM对象的区别与相互转换:

  • jQuery对象:包装DOM对象后产生的对象,是jQuery独有的,可以使用jQuery中的方法。

    就取得value值的方式而言来看看jQuery对象与DOM对象的区别:

在这里插入图片描述

虽然jQuery对象是包装DOM对象后产生的,但是jQuery无法使用DOM对象的任何方法,同理,DOM对象也不能使用jQuery中的方法。

但是这两种对象之间是可以相互转换的:

  • jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
    • var list = $(“input”); //jQuery对象。
    • var list2 = list[0]; //DOM对象。
  • jQuery本身提供,通过.get(index)方法,得到相应的DOM对象。
    • var list=$(“input”); //jQuery对象。
    • var list2=list.get(0); //DOM对象。

  • 对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。

    • var list = document.getElementById(“name”); //DOM对象。
    • var list2 = $(list); //jQuery对象。

在这里插入图片描述

最后附上jQuery 在线速查手册传送门

### 推荐算法概述 推荐系统旨在预测用户的兴趣并向用户提供个性化的建议。这类系统广泛应用于电子商务、社交媒体以及娱乐行业等领域,帮助用户发现感兴趣的商品或内容。为了构建有效的推荐引擎,通常采用三种主要类型的推荐技术:基于内容的过滤(Content-based Filtering),协同过滤(Collaborative Filtering),混合模型(Hybrid Models)[^4]。 #### 协同过滤原理 在众多推荐算法中,协同过滤是最常用的一种方法之一。其核心思想在于利用大量其他用户的行为数据来进行个性化推荐。具体来说,如果两个用户在过去表现出相似的兴趣偏好,则认为他们在未来也会有类似的喜好;同样地,对于同一类商品而言,被一群具有相同品味的人所喜爱意味着这些产品之间存在关联性[^4]。 ##### 用户-项目矩阵(U-V矩阵) 以视频平台为例,可以建立一个二维表格形式的关系结构——用户-视频矩阵(User-to-Item Matrix),其中每一行代表一位特定观众的历史观看记录,而每列则对应不同影片的信息。当面对稀疏的数据集时,可以通过填充缺失值或者仅保留评分较高的条目等方式简化处理过程。 ##### 计算相似度 针对上述提到的两种情况(即寻找相似用户和查找相近物品),需要定义合适的距离度量方式来量化彼此间的差异程度。常见的衡量标准包括余弦相似度(Cosine Similarity)、皮尔逊相关系数(Pearson Correlation Coefficient)等。例如,在计算两部电影之间的相似度时,可以选择后者作为评价指标: \[ \text{similarity}(A, B)=\frac{\sum_{i=1}^{n}\left(r_{Ai}-\bar{r}_{A}\right)\left(r_{Bi}-\bar{r}_{B}\right)}{\sqrt{\sum_{i=1}^{n}\left(r_{Ai}-\bar{r}_{A}\right)^{2}} \cdot \sqrt{\sum_{i=1}^{n}\left(r_{Bi}-\bar{r}_{B}\right)^{2}}} \] 这里 \( r_{Xj} \) 表示第 j 位用户给定 X 物品打下的分数,\( \overline {r_X } \) 则表示所有涉及此项目的平均得分。 ```python import numpy as np from scipy.spatial.distance import pdist, squareform def pearson_corr_matrix(data): """Calculate the Pearson correlation coefficient matrix.""" corr = 1 - squareform(pdist(data.T, metric='correlation')) return corr ``` #### 实现步骤 尽管具体的实施方案可能因应用场景的不同有所变化,但总体上遵循以下几个原则: - **数据预处理**:清洗并整理原始日志文件中的交互事件; - **特征提取**:根据业务需求选取恰当维度描述实体属性; - **模型训练**:运用机器学习框架完成参数估计工作; - **效果评估**:借助离线测试集验证性能表现,并持续迭代优化方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值