目录
JQuery是一个js文件。具体来说,JQuery是一个快速、小巧且功能丰富的JavaScript库。
原生JavaScript操作dom元素代码量可能较大,特别是对于复杂的DOM操作,还需要手动处理跨浏览器兼容性问题。
jQuery则通过封装和扩展JavaScript的功能,提供了更简洁、更易于使用的API,操作dom元素代码简洁易读,解决了跨浏览器兼容性问题。
具体来说,jQuery相对于原生的JavaScript代码编写方面更具有易用性和可维护性吧,并消除了各种浏览器兼容性问题。
PS:另一个优点,jQuery支持链式操作,这使得开发者可以将多个操作链接在一起,形成一个流畅的操作序列。这种特性不仅使得代码更加简洁易读,而且提高了代码的可维护性和复用性。
浏览器直接下载
https://code.jquery.com/{jquery的版本}
下载示例:
https://code.jquery.com/jquery-3.6.0.min.js
PS:访问之后直接将页面另存为后即可。
使用jQuery分为引入jQuery库和编写jQuery代码两步。
引入jQuery库:首先需要在HTML文档中引入jQuery库。这通常通过<script>标签的src属性来完成,指向jQuery的CDN链接或本地jQuery文件。
使用jQuery的CDN链接:
<head>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
使用本地jQuery(需要先下载到本地):
<script src="path/local/jquery-3.6.0.min.js"></script>
编写jQuery代码:一旦jQuery库被加载,您就可以在<script>标签中编写jQuery代码了。通常,我们会将这些代码放在一个单独的<script>标签中,以确保它们在页面加载完成后执行。
<script>
$(document).ready(function(){
// 在这里编写您的jQuery代码
$("p").click(function(){
$(this).hide();
});
});
</script>
需要先找到要操作的元素,然后才可以对这个元素进行一系列的操作。
$是一个别名或简称,用于表示 jQuery 函数
是一个基本的函数调用(实际上是调用jQuery对象的方法),用于选择DOM(文档对象模型)元素,jQuery 选择器函数或 $ 函数。它接受一个字符串参数,该参数是CSS样式的选择器,用于指定要从DOM中获取(选择)哪些元素。
指的是通过jQuery选择器从网页的文档对象模型(Document Object Model,简称DOM)中选取出来的HTML元素。这些元素被封装为jQuery对象,使得开发者可以使用jQuery提供的方法和属性来操作它们。
方法名称 | 作用 |
---|---|
$() |
用于选择页面上的元素,并返回包含这些元素的jQuery对象 |
.find() |
在当前jQuery对象所代表的元素集合中查找满足选择器的元素 |
.eq() |
根据索引值选取匹配的元素集合中的一个元素 |
.filter() |
过滤当前jQuery对象所代表的元素集合,只保留满足特定条件的元素 |
方法名称 | 作用 |
---|---|
.attr() |
获取或设置被选元素的属性值 |
.removeAttr() |
从被选元素中移除一个或多个属性 |
.prop() |
获取或设置被选元素的属性(property)值 |
.removeProp() |
移除被选元素的属性(property) |
方法名称 | 作用 |
---|---|
.text() |
获取或设置被选元素的文本内容 |
.html() |
获取或设置被选元素的HTML内容 |
.val() |
获取或设置被选元素的值(常用于表单元素) |
.empty() |
从被选元素中移除所有子节点 |
方法名称 | 作用 |
---|---|
.css() |
获取或设置被选元素的样式属性 |
.addClass() |
为被选元素添加一个或多个类 |
.removeClass() |
从被选元素中移除一个或多个类 |
.toggleClass() |
在被选元素上切换一个或多个类(如果存在则移除,否则添加) |
方法名称 | 作用 |
---|---|
.each() |
为每个被选元素执行一个函数 |
.parent() |
获取被选元素的直接父元素 |
.children() |
获取被选元素的所有直接子元素 |
.siblings() |
获取被选元素的所有同胞元素 |
方法名称 | 作用 |
---|---|
.on() |
在被选元素上绑定一个或多个事件处理函数 |
.off() |
从被选元素上移除一个或多个事件处理函数 |
.trigger() |
触发被选元素上绑定的事件处理函数 |
.click() |
触发或绑定click事件处理函数 |
方法名称 | 作用 |
---|---|
.show() |
显示被选元素 |
.hide() |
隐藏被选元素 |
.toggle() |
切换被选元素的可见状态 |
.slideDown() |
通过滑动效果显示被选元素 |
var element = $("#myId");
var elements = $(".myClass");
PS:这个方法会返回一个包含所有匹配元素的jQuery对象。
var elements = $("p"); // 获取所有的<p>元素
var elements = $("[name='myName']"); // 获取所有name属性为'myName'的元素
可以组合上述选择器来获取更具体的元素。
var elements = $(".myClass p"); // 获取所有类名为'myClass'的<p>元素
需要在获取元素后使用空格来指定一个元素的子元素。
var elements = $("#parentId .childClass"); // 获取ID为'parentId'的元素中所有类名为'childClass'的子元素
需要在获取元素后使用 .parent()方法。
var parent = $("#childId").parent(); // 获取ID为'childId'的元素的父元素
获取元素的值通常取决于元素的类型。对于表单元素,如输入框(input)、文本域(textarea)或选择框(select),可以使用 .val() 方法来获取或设置值。对于其他元素,如文本或链接,你可能需要使用 .text()或 .html() 方法来获取或设置其内容。
var inputValue = $('input[name="myInput"]').val();
console.log(inputValue);
var radioValue = $('input[name="myRadio"]:checked').val();
console.log(radioValue);
var checkboxValues = [];
$('input[name="myCheckbox"]:checked').each(function() {
checkboxValues.push($(this).val());
});
console.log(checkboxValues);
var selectValue = $('select#mySelect').val();
console.log(selectValue);
// 假设你有一个链接,其HTML如下:
// <a id="myLink" href="https://example.com">点击这里</a>
// 使用jQuery获取链接的href属性值
var linkHref = $("#myLink").attr("href");
console.log(linkHref); // 输出: https://example.com
var textareaValue = $('textarea#myTextarea').val();
console.log(textareaValue);
var textContent = $('#myElement').text();
console.log(textContent);
var htmlContent = $('#myElement').html();
console.log(htmlContent);
// 假设你有一个ID为"myTextInput"的文本输入框
$('#myTextInput').val('新的文本值');
// 取消选中ID为"myRadio"的单选框
$('#myRadio').prop('checked', false);
// 选中ID为"myCheckbox"的复选框
$('#myCheckbox').prop('checked', true);
// 假设你有一个ID为"mySelect"的下拉列表,并且你想选中值为"optionValue"的选项
$('#mySelect option[value="optionValue"]').prop('selected', true);
// 假设你有一个ID为"mySelect"的下拉列表,并且你想选中文本为"Option Text"的选项
$('#mySelect option:contains("Option Text")').prop('selected', true);
// 假设你有一个链接,其HTML如下:
// <a id="myLink" href="https://old-example.com">点击这里</a>
// 使用jQuery设置链接的href属性值
$("#myLink").attr("href", "https://new-example.com");
// 现在链接的href属性已被更新为https://new-example.com
// 假设你有一个ID为"myTextarea"的多行文本框
$('#myTextarea').val('新的文本内容');
// 假设你有一个ID为"myText"的文本框
$('#myText').text('新的文本内容');
// 假设你有一个ID为"myHtml"的文本框
$('#myHtml').html('<p>新的HTML内容</p>');
// 假设你有div标签并且这个标签的ID为"parentElement"
$('#parentElement').append('<p>这是一个新段落。</p>');
$('<p>这是一个新段落。</p>').appendTo('#parentElement');
$("#targetElement").after("<p>这是目标元素之后的新段落。</p>");
$("<p>这是目标元素之后的新段落。</p>").insertAfter("#targetElement");
$("#targetElement").before("<p>这是目标元素之前的新段落。</p>");
$("<p>这是目标元素之前的新段落。</p>").insertBefore("#targetElement");
$("p").remove(); // 删除所有的 <p> 元素
$("#myElement").remove(); // 删除ID为myElement的元素
$("div").empty(); // 清空所有的 <div> 元素的内容
// 使用 wrap() 方法
$("#myElement").wrap("<div class='wrapper'></div>");
// 使用 wrapAll() 方法
$("p").wrapAll("<div class='all-wrappers'></div>");
// 使用 wrapInner() 方法
$("#myElement").wrapInner("<div class='inner-wrapper'></div>");
/ 假设你有一个元素,其HTML如下:
// <div id="myDiv" style="color: red; font-size: 16px;"></div>
// 使用jQuery获取该元素的color样式属性值
var color = $("#myDiv").css("color");
console.log(color); // 输出: rgb(255, 0, 0) 或者 #ff0000,取决于浏览器实现
ID为myElement的标签之前有样式则为设置。
// 设置单个样式属性
$("#myElement").css("color", "red"); // 将ID为myElement的元素的文本颜色设置为红色
// 设置多个样式属性
$("#myElement").css({
"color": "red",
"background-color": "yellow",
"font-size": "20px"
}); // 同时设置多个样式属性
ID为myElement的标签之前没有样式则为添加。
// 添加单个样式属性
$("#myElement").css("color", "red"); // 将ID为myElement的元素的文本颜色设置为红色
// 添加多个样式属性
$("#myElement").css({
"color": "red",
"background-color": "yellow",
"font-size": "20px"
}); // 同时添加多个样式属性
将ID为myElement的标签的样式设为空则为删除。
$("#myElement").css("color", ""); // 将颜色样式重置为默认值或继承值
使用场景:当你有一组预定义的CSS类,并希望根据条件动态地添加或删除或切换这些类时。
//添加样式
$("#myElement").addClass("highlight"); // 为ID为myElement的元素添加highlight类
//删除样式
$("#myElement").removeClass("highlight"); // 移除ID为myElement的元素上的highlight类
//切换样式类(如果类存在则删除,如果不存在则添加)
$("#myElement").toggleClass("highlight");
//根据条件添加或删除样式类
// 假设有一个条件变量condition,如果为true则添加类,如果为false则移除类
var condition = true; // 或者 false
$("#myElement").toggleClass("highlight", condition);
// 当页面加载完成后执行
$(document).ready(function() {
alert('页面加载完成!');
});
//可简写为
$(function() {
// 这里的代码同样会在DOM加载完成后执行
console.log('DOM加载完成');
});
on方法用于绑定一个或多个事件处理函数到选定的元素上。
// 当按钮被点击时,执行函数
$("#myButton").on("click", function() {
alert("按钮被点击了!");
});
off方法用于移除一个或多个事件处理函数。
// 先绑定一个点击事件处理函数
$("#myButton").on("click", function() {
alert("按钮被点击了!");
});
// 然后移除它
$("#myButton").off("click");
用于绑定表单提交时的事件处理函数,或者提交表单。
//绑定事件处理函数
$("#myForm").submit(function(event) {
// 阻止表单的默认提交行为(即不跳转到新页面)
event.preventDefault();
alert("表单已提交,但页面不会跳转。");
});
//触发事件
// 假设有一个表单,当某个按钮被点击时自动提交表单
$("#mySubmitButton").click(function() {
$("#myForm").submit();
});
// 绑定事件处理函数
$("#myButton").click(function() {
alert("按钮被点击了!");
});
// 触发事件
// 假设有一个按钮,当页面加载完成后自动触发点击事件
$(document).ready(function() {
$("#myButton").click();
});
$("#myElement").hover(
function() {
// 鼠标指针进入元素时执行的函数
$(this).css("background-color", "yellow");
}, function() {
// 鼠标指针离开元素时执行的函数
$(this).css("background-color", "white");
}
);
绑定键盘按键按下时的事件。
$(document).keydown(function(event) {
if (event.keyCode == 13) { // 如果按下的是回车键(键码为13)
alert("你按下了回车键!");
}
});
// 隐藏一个元素,带有滑动效果
$('#myElement').slideUp();
// 显示一个元素,带有淡入效果
$('#myElement').fadeIn();
// 自定义动画
$('#myElement').animate({
opacity: 0.5,
left: '+=50',
height: 'toggle'
}, 5000, function() {
alert('动画完成!');
});
获取内容,它会返回被选元素(包括其后代元素)的文本内容。
设置内容,它会替换被选元素(包括其后代元素)的文本内容。
text方法处理的是纯文本内容,不会解析 HTML 标签。
获取内容时,不仅可以获取纯文本内容,还可以获取包含 HTML 标签的内容。
设置内容时,jQuery 会将传入的字符串解析为 HTML,并更新元素的内部 HTML 结构。因此,如果你传入的字符串包含 HTML 标签,它们将被解析并作为元素的子元素插入。
html方法处理的是 HTML 内容,可以包含 HTML 标签。
Ajax(Asynchronous JavaScript and XML)是一种用于创建异步 web 请求的技术,它允许在不重新加载整个页面的情况下,从服务器加载数据,并在网页上更新部分内容。
jQuery中的Ajax方法是封装后的。jQuery对原生的JavaScript Ajax功能进行了封装,提供了简单易用的 Ajax 方法,使得开发者能够轻松实现复杂的 web 应用。
$.ajax({
url: 'example.com/api/data', // 请求的 URL
type: 'GET', // 请求类型:GET、POST 等
dataType: 'json', // 预期服务器返回的数据类型
success: function(data, textStatus, jqXHR) {
// 请求成功时调用的函数
console.log(data);
},
error: function(jqXHR, textStatus, errorThrown) {
// 请求失败时调用的函数
console.error("请求失败: " + textStatus);
}
});
$.get() 和 $.post() 是 $.ajax() 的简化版本,分别用于发送 GET 和 POST 请求。
// 使用$.get发送GET请求
$.get('example.com/api/data', function(data) {
console.log(data);
});
// 使用$.post发送POST请求
$.post('example.com/api/submit', { key: 'value' }, function(response) {
console.log(response);
});
加载 JSON 格式的数据。
$.getJSON('example.com/api/data', function(data) {
console.log(data);
});
加载并执行 JavaScript 文件。
$.getScript('path/to/script.js', function() {
console.log('脚本已加载并执行');
});
用于将服务器响应直接加载到选定的元素中。
$('#result').load('example.com/api/content #someElement');
/*说明:
#result 是要填充内容的元素
'example.com/api/content #someElement' 是请求的 URL
只加载 #someElement 的内容。*/
PS:当你需要发送表单数据时,可以使用 $.param()来序列化表单数据,或者 serialize() 方法来序列化表单元素本身。
//$.param() 序列化 JavaScript 对象
var data = { key1: 'value1', key2: 'value2' };
var paramString = $.param(data);
$.post('example.com/api/submit', paramString, function(response) {
// 处理响应
});
//serialize() 方法来序列化表单元素
var formData = $('#myForm').serialize();
$.post('example.com/api/submit', formData, function(response) {
// 处理响应
});
JavaScript是一种编程语言,用于在浏览器中实现交互效果,包括动态更新页面内容、响应用户操作等。它提供了丰富的API,可以操作DOM、处理事件、发送网络请求等。
jQuery是一个快速、小巧且功能丰富的JavaScript库。它封装了JavaScript常用的功能和代码,使得开发者可以更方便地操作DOM、处理事件、发送Ajax请求等。此外,jQuery还提供了一些JavaScript没有的高级功能,比如动画效果和链式操作等。
示例:
假设我们有一个id为"myButton"的按钮,当点击这个按钮时,我们想要改变一个id为"myText"的元素的文本内容。
使用原生JavaScript,代码可能如下:
document.getElementById('myButton').addEventListener('click', function() {
document.getElementById('myText').innerHTML = 'Hello, jQuery!';
});
而使用jQuery,代码可以简化为:
$('#myButton').click(function() {
$('#myText').text('Hello, jQuery!');
});
从这个例子中可以看出,jQuery通过简洁的语法和强大的选择器,使得开发者可以更方便地操作DOM和处理事件。
在性能方面,原生JavaScript通常会比jQuery更快,因为它直接操作浏览器提供的API,没有额外的封装和抽象。而jQuery虽然提供了很多方便的功能,但也因此增加了一些额外的开销。
然而,这种性能差异在大多数情况下并不明显,除非是在处理大量DOM元素或进行复杂的计算时。在大多数情况下,开发者更关注的是代码的易用性和可维护性,而不是微小的性能差异。
在易用性方面,jQuery无疑优于原生JavaScript。jQuery的语法简洁明了,易于学习和使用。它还提供了一套完整的API和文档,使得开发者可以快速地查找和使用需要的功能。
此外,jQuery还具有良好的兼容性,可以在不同的浏览器上运行。开发者能够更专注于实现功能,而不是处理浏览器差异。
PS:jQuery和JavaScript各有其优势和适用场景。对于简单的页面交互和效果,原生JavaScript可能就足够了。而对于更复杂的Web应用和开发任务,使用jQuery可能会更加高效和便捷。
文章浏览阅读278次。Context提供了一种不需要手动地通过props来层层传递的方式来传递数据。_react context
文章浏览阅读1.1w次。废话不多说,先上PLC与压力控制器485接线图对接线图不理解的可以留言.(1).压力控制器通电后设置参数,主要设置通讯参数第一:波特率,(此处我设置的是9600).第二设置通讯模式(此处设置的RTU模式)(2)5UPLC的参数设置如图上面通讯就完成了大家注意一点哦,这边是不需要你去算校验码的.如有问题,可留言探讨...._fx5u485通讯接线图
文章浏览阅读857次。CentOS上部署Java项目开发环境CentOS上负责分发程序的yum命令。Ⅰ 安装软件的常用下载工具(1)yum的基本使用1)查看软件包列表(完整名称)yum list | grep [关键字]2)安装软件包 yum install [软件包完整名称]3)卸载软件包yum remove [软件包完整名称](2)wgetwget http://...hellp.zip -O down.zip(3) curlcurl 'http://...hellp.zip' -O down.zip_centos 7 部署java
文章浏览阅读350次。选择排序_leetcode选择排序题目java
文章浏览阅读3.2k次,点赞2次,收藏2次。历史AAM的思想最早可以追溯到1987年kass等人提出的snake方法,主要用于边界检定与图像分割。该方法用一条由n个控制点组成的连续闭合曲线作为snake模型,再用一个能量函数作为匹配度的评价函数,首先将模型设定在目标对象预估位置的周围,再通过不断迭代使能量函数最小化,当内外能量达到平衡时即得到目标对象的边界与特征。 1989年yuille等人此提出使用参数化的可变形模板来代替snak_opencv 主动外观模型
文章浏览阅读241次。Mapper.xml 配置Mapper.xml 配置call pro_emp(#{emps,mode=OUT,jdbcType=CURSOR,javaType=java.sql.ResultSet,resultMap=empMap}) ]]>存储过程:create or replace procedure pro_emp(cur_sys out sys_refcursor)asbegino..._mybatis oracle存储过程 public void setparameter(
文章浏览阅读6.2k次。首先pyspider all启动pyspider的所有服务,然后访问http://localhost:5000创建一个爬虫任务:taonvlang,点开任务链接编辑http://localhost:5000/debug/taonvlang,默认模板:右侧为代码编辑区,可以在crawl_config里做一些配置,具体可以参考官网API文档:http://docs.pyspider.org/e_pyspider 卡住任务创建
文章浏览阅读78次。布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。如果引用的不是同一个对象则返回结果 True,否则返回 False。如果在指定的序列中没有找到值返回 True,否则返回 False。_python中(:)的运算规则
文章浏览阅读39次。刷题记录,字符串
文章浏览阅读4.2k次,点赞6次,收藏17次。如果蓝图是直接继承自一个C++类的,那么直接在这个C++类里面写入你需要的函数编译后就可以在蓝图里面调用了。下面讲的是一个全局的静态函数类,即不需要指定继承自某个C++类,这个全局类可以被当前工程下的所有蓝图类调用。首先新建一个c++类,选择显示所有类,在里面找到blueprintFunctionLibrary并创建一个新类:创建好之后打开VS文件,出现.h和.cpp文件。..._ue4 蓝图调用c++函数
文章浏览阅读1.9k次。linux中一切皆文件,文件是linux系统的核心设计思想,所以掌握文件的操作是很重要的。_服务器和客户端使用文件io操作
文章浏览阅读224次。学习一种新的编程语言不仅可以提升你的专业能力、处理信息和分析数据的能力,也能让你走上一条新的职业道路。甚至你还可以将在学习语言时学到的计算思维能力和解决问题的能力应用到各个领域。然而,选择编程语言不仅要看个人兴趣,还要考虑这个语言是否与目标职业岗位匹配等众多因素。海风教育在线辅导0元一对一试听课等你来领取,领取课程方法:1、私信留下您的手机号和姓名,需要补习的科目。2、也可以在海风教育官网..._编译语言选择