1. 概述
jQuery是一个JavaScript代码仓库,或称之为框架。jQuery功能强大。能快速方便的完成以下任务:
选择页面元素:jQuery有强大的选择器。
动态更改页面样式:由于浏览器对css样式的兼容性不容,js处理一些特殊的样式时需要考虑兼容性。jQuery弥补这一不足,提供了一套跨浏览器的标准解决方案。
动态更改页面内容:jQuery能使用少量代码改变文档内容。
控制响应事件:jQuery提供了丰富的页面事件。
提供基本网页特效:淡入、淡出、移动等。
快速实现通信:jQuery封装了Ajax的操作。
扩展JavaScript内核:如迭代和数组操作。
jQuery有1.x、2.x、和3.x多个版本。
1.x:兼容ie678,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了。
2.x:不兼容ie678,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x。
3.x:不兼容ie678,只支持最新的浏览器。除非特殊要求,一般不会使用3.x版本的,很多老的jQuery插件不支持这个版本。目前该版本是官方主要更新维护的版本。
使用jQuery时,在页面头部引用jQuery类库:
<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
2. 选择器
2.1 基本选择器
2.1.1 ID选择器
根据元素的id值选择元素。使用js时有一个document.getElementById()方法。jQuery简化了这个操作使用KaTeX parse error: Expected 'EOF', got '#' at position 3: (“#̲”)代表根据元素的id值选择元…(“#id”)
示例:
<input id="aa" value="1"/>
<script type="text/javascript">//dom对象var dom = document.getElementById("aa");alert("dom=" + dom.value);//jQuery对象var jq = $("#aa");alert("jq=" + jq.val())
</script>
注:理论上id的值在同一个页面中应该是唯一的。但如果id值冲突,jQuery会返回第一个对象。
2.1.2 标签选择器
根据html标签名可以选择元素。js提供了document.getElementsByTagName(“标签名”)方法获得元素。jQuery中使用$(“标签名”)。
<input id="aa" value="1"/>
<script type="text/javascript">//dom对象var dom = document.getElementsByTagName("input");//jQuery对象var jq = $("input");
</script>
2.1.3 类选择器
根据元素的class值选择元素。js中使用document.getElementsByClassName(“类名”)选择元素。
jQuery中使用$(“.类名”)。
<input id="aa" value="1" class="bb"/>
<script type="text/javascript">var dom = document.getElementsByClassName("bb");//dom对象var jq = $(".bb");//jQuery对象
</script>
$(“div.aa”)注意中间没空格,选择的是class=”aa”的div
2.1.4 通配选择器
通配选择器$(“”)选择所有元素。js中使用document.getElementsByName(“”)
2.1.5 组选择器
(“selector1,selector2,selectorN”)表示多个选择器,选择器可以是任何类型,没有数量限制。如(“selector1,selector2,selectorN”)表示多个选择器,选择器可以是任何类型,没有数量限制。 如(“selector1,selector2,selectorN”)表示多个选择器,选择器可以是任何类型,没有数量限制。如(“input,div,#aa”)表示选择所有的input标签和div还有id=aa的元素。
2.2 层级选择器
层级选择器在DOM嵌套结构中非常实用。
2.2.1 包含选择器
包含选择器是一个祖先下匹配的所有后代节点。祖先和后代选择器之间用空格隔开。选择器可以是任意类型。
$(“ancestor descendant”) ancestor选择器可以是任意类型,空格之后是后代节点。注意空格很重要!!
示例:
<!--这个节点不在form里,不会选中-->
<input value="0" class="bb"/>
<form><input value="1"/><div><input value="2"/></div><div><p><input value="3"/></p></div>
</form>
<script type="text/javascript">//选择form下的所有input,子节点、孙节点等所有后代var input=$("form input");input.css("background","red");//改变背景色
</script>
2.2.2 子选择器
$(“parent>child”)只选择parent下子级的child,非子级的后代就不选中了。
<!--这个节点不在form里,不会选中-->
<input value="0" class="bb"/>
<form><!--这个是form的子元素,可以选中--><input value="1"/><!--这两个input不是子级,是孙子和重孙子,不会选中--><div><input value="2"/></div><div><p><input value="3"/></p></div>
</form>
<script type="text/javascript">//选择form下的所有子级的input元素var input = $("form > input");input.css("background", "red");//改变背景色
</script>
2.2.3 相邻选择器
$(“prev+next”)找到所有prev元素后的next元素。
<div>我是div</div>
<input value="1"/><!--这个元素紧随div会选中-->
<input value="2"/><!--这个元素没有紧随div,不会选中-->
<script type="text/javascript">var input = $("div + input");input.css("background", "red");//改变背景色
</script>
2.2.4 兄弟选择器
$(“prev~siblings”)选择所有在prev之后且与prev同级的siblings。
<!--虽然与div同级,但不在div后面-->
<input value="0"/>
<div>我是div</div>
<input value="1"/><!--在div之后且同级,会选中-->
<input value="2"/><!--在div之后且同级,会选中-->
<p><input value="3"/><!--在div之后但不同级,不会选中--></p>
<script type="text/javascript">//选择form下的所有子级的input元素var input = $("div ~ input");input.css("background", "red");//改变背景色
</script>
2.3 属性选择器
选择器 说明
[attribute] 匹配包含特定属性的元素,如(“div[id]”)选择所有含有id属性的div。[attribute=value]匹配属性值等于特定值的元素。如(“div[id]”)选择所有含有id属性的div。 [attribute=value] 匹配属性值等于特定值的元素。如(“div[id]”)选择所有含有id属性的div。[attribute=value]匹配属性值等于特定值的元素。如(“a[href=‘#’]”)匹配所有 href 属性的值等于 “#” 的a标签
[attribute!=value] $(“a[href!=‘#’]”)匹配所有 href 属性的值不等于 “#” 的a标签
[attribute^=value] ("input[name=test]")所有name以test开头的input标签[attribute(" input [name^=test]")所有name以test开头的input标签 [attribute("input[name=test]")所有name以test开头的input标签[attribute=value] ("a[href("a[href("a[href=‘.jpg’]“) 所有 href 属性的值包含以 “.jpg” 结尾的a标签
[attribute*=value] $(” input [name*=test]“)所有name值包含test的input标签
[selector1] [selector2] [selectorN] $(” input [name*=test][id]") 所有name值包含test的且含有id属性的input标签
2.4 伪类选择器
伪类可以看做是特殊的类型选择,它的特征是选择器中的冒号”:”
特定位置的伪类选择器
:first $(“p:first”) 第一个
元素
:last $(“p:last”) 最后一个
元素
:eq(index) $(“ul li:eq(3)”) 列表中的第四个元素(index 从 0 开始)
指定范围的伪类选择器
:even $(“tr:even”) 所有偶数 元素
:odd $(“tr:odd”) 所有奇数 元素
:gt(no) $(“ul li:gt(3)”) 列出ul下 索引 大于 3 的li元素
:lt(no) $(“ul li:lt(3)”) 列出 ul下 索引小于 3 的li元素
排除选择器
:not(selector) $(“input:not(:empty)”) 所有不为空的 input 元素
特殊选择器
:header $(“:header”) 所有标题元素
–
:animated 所有动画元素
与内容相关的伪类选择器
:contains(text) $(“div:contains(‘W3’)”) 内容包含W3的div
:empty $(“div:empty”) 无子(元素)节点的所有div元素
:has(selector) $(“div:has§”) 包含p标签的div
:parent $(“div:parent”) 匹配非空的div
与显示相关的伪类选择器
:hidden $(“p:hidden”) 所有隐藏的
元素
:visible $(“a:visible”) 所有可见的a标签
匹配子元素的伪类选择器
:first-child $(“div span:first-child”) 给每个匹配的 div 中查找第一个 span
:first-of-type 选择所有相同的元素名称的第一个兄弟元素。
:last-child 选择所有父级元素下的最后一个子元素
:last-of-type 选择的所有元素之间具有相同元素名称的最后一个兄弟元素。
:nth-child() 选择的他们所有父元素的第n个子元素,n从1开始
:nth-last-child() 选择所有他们父元素的第n个子元素。计数从最后一个元素开始到第一个。
:nth-last-of-type() 选择的所有他们的父级元素的第n个子元素,计数从最后一个元素到第一个。
:nth-of-type() 选择同属于一个父元素之下,并且标签名相同的子元素中的第n个
:only-child 如果某个元素是其父元素的唯一子元素,那么它就会被选中。
:only-of-type 选择所有没有兄弟元素,且具有相同的元素名称的元素。
表单相关的伪类选择器
:input $(“:input”) 所有 元素
:text $(“:text”) 所有 type=“text” 的 元素
:password $(“:password”) 所有 type=“password” 的 元素
:radio $(“:radio”) 所有 type=“radio” 的 元素
:checkbox $(“:checkbox”) 所有 type=“checkbox” 的 元素
:submit $(“:submit”) 所有 type=“submit” 的 元素
:reset $(“:reset”) 所有 type=“reset” 的 元素
:button $(“:button”) 所有 type=“button” 的 元素
:image $(“:image”) 所有 type=“image” 的 元素
:file $(“:file”) 所有 type=“file” 的 元素
表单属性相关的伪类
:enabled $(“:enabled”) 所有激活的 input 元素
:disabled $(“:disabled”) 所有禁用的 input 元素
:selected $(“:selected”) 所有被选取的 input 元素
:checked $(“:checked”) 所有被选中的 input 元素
2.5 选择器优化
(1) 多用ID 选择器,如果不存在ID选择器,可以在父元素中添加ID,这样可以缩短访问路径
(2) 少直接使用class选择器,可以使用标签.class。避免表达式中的冗余,如div#aa,可以直接简化成#aa。
(3) 多用父子关系parent>child,少用parent child因为>是子选择器,不递归,而“ ”是后代选择器,后递归遍历子元素及子元素的子元素(所有后代)…
(4) 缓存jQuery对象,如果选出的结果不发生变化,可以缓存jQuery对象,如:
for(var i=0;i<100;i++){var aa=$("#aa");aa.append(i);
}
//优化后
var aa=$("#aa");
for(var i=0;i<100;i++){aa.append(i);
}
3. jQuery和DOM
jQuery对象对DOM对象进行了封装,本质上jQuery对象是一个普通的JavaScript对象,它包含DOM对象的集合。即DOM对象是一个独立的个体,而jQuery对象是多个DOM对象的集合。
<input id="aa"/>
<script type="text/javascript">var dom = document.getElementById("aa");alert(dom);//[object HTMLInputElement]var jq=$("#aa");alert(jq);//[object Object]
</script><input id="aa"/>
<script type="text/javascript">var dom = document.getElementById("aa");alert(dom.length);//未定义var jq=$("#aa");alert(jq.length);//长度是1
</script>
如果选择一个不存在的对象,dom会是null,而jQuery对象是一个长度等于0的集合,所以它不会有空指针的异常。
3.1 DOM对象转jQuery对象
(dom)用(dom)用(dom)用()把dom对象括起来,就会返回jQuery对象。
3.2 jQuery对象转DOM对象
使用[index]或get(index)可以将jQuery对象转换成DOM对象。如(“li”)[0]或(“li”)[0]或(“li”)[0]或(“li”).get(0)
3.3 window.onload和document.ready
浏览器解析大致有以下几个步骤:
(1) 解析HTML结构
(2) 加载外部脚本和样式
(3) 解析并执行脚本代码
(4) 构造HTML DOM 模型
(5) 加载图片等外部文件
(6) 界面加载完成
window.onload会在页面所有内容加载完成之后执行(第6步之后),比如图片等对媒体文件。如果媒体文件较多,即时网页文档已经显示,但load事件不会触发。
document.ready会在DOM绘制完毕后执行(第4步之后),能确保文档呈现和脚本初始化同时完成。
window.onload只能写一次,而document.ready可以写多次。
<script type="text/javascript">//只会显示load2window.onload=function () {alert("load1")}window.onload=function () {alert("load2")}
</script>
<script type="text/javascript">//都会执行$(document).ready(function () {alert("ready1")})$(document).ready(function () {alert("ready2")})//简化形式$(function () {alert("ready3")})
</script>
4. 过滤器
jQuery提供了选择器和过滤器两种方式选择文档元素,选择器主要模仿CSS语法,提供高效准确匹配元素的一般方法,而过滤器是建立在选择器基础上进行二次筛选的。
4.1 过滤
过滤方法 示例 说明
eq(index) $(“ul>li”).eq(3) 找到第n个元素,n从0开始
hasClass(class) $(“#aa”).hasClass(“bb”) 判断id=aa的元素是否有class=”bb”的属性,如果有就返回true
filter(expr)
$(“div”).filter(“.red,.blue”)
$(“div”) .filter(function(index){
return $(“span”,this).length==2
}) 选择class=”red”或class=”blue”的div
找到包含两个span标签的div
is(expr) $(“#aa”).is(“input”) 判断id=aa的元素是不是一个input标签
map(callback) map能把一组元素转化成其它数组
has(expr) $(“div”).has(“span.red”) 找到包含的div
not(expr) 和is相反
slice(start,[end]) 截取指定范围内的元素
<input value="a"/>
<input value="b"/>
<input value="c"/>
<script type="text/javascript">$(function () {var vals = $("input").map(function () {return $(this).val()});for (var i = 0; i < vals.length; i++) {alert(vals[i])}})
</script><input value="a"/>
<input value="b"/>
<input value="c"/>
<input value="d"/>
<script type="text/javascript">$(function () {$("input").slice(1,4).val(0)})
</script>
4.2 查找
函数 描述
.add() 将元素添加到匹配元素的集合中。
.andSelf() 把堆栈中之前的元素集添加到当前集合中。
.children() 获得匹配元素集合中每个元素的所有子元素。
.closest() 从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素。
.contents() 获得匹配元素集合中每个元素的子元素,包括文本和注释节点。
.each() 对 jQuery 对象进行迭代,为每个匹配元素执行函数。
.end() 结束当前链中最近的一次筛选操作,并将匹配元素集合返回到前一次的状态。
.eq() 将匹配元素集合缩减为位于指定索引的新元素。
.filter() 将匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素。
.find() 获得当前匹配元素集合中每个元素的后代,由选择器进行筛选。
.first() 将匹配元素集合缩减为集合中的第一个元素。
.has() 将匹配元素集合缩减为包含特定元素的后代的集合。
.is() 根据选择器检查当前匹配元素集合,如果存在至少一个匹配元素,则返回 true。
.last() 将匹配元素集合缩减为集合中的最后一个元素。
.map() 把当前匹配集合中的每个元素传递给函数,产生包含返回值的新 jQuery 对象。
.next() 获得匹配元素集合中每个元素紧邻的同辈元素。
.nextAll() 获得匹配元素集合中每个元素之后的所有同辈元素,由选择器进行筛选(可选)。
.nextUntil() 获得每个元素之后所有的同辈元素,直到遇到匹配选择器的元素为止。
.not() 从匹配元素集合中删除元素。
.offsetParent() 获得用于定位的第一个父元素。
.parent() 获得当前匹配元素集合中每个元素的父元素,由选择器筛选(可选)。
.parents() 获得当前匹配元素集合中每个元素的祖先元素,由选择器筛选(可选)。
.parentsUntil() 获得当前匹配元素集合中每个元素的祖先元素,直到遇到匹配选择器的元素为止。
.prev() 获得匹配元素集合中每个元素紧邻的前一个同辈元素,由选择器筛选(可选)。
.prevAll() 获得匹配元素集合中每个元素之前的所有同辈元素,由选择器进行筛选(可选)。
.prevUntil() 获得每个元素之前所有的同辈元素,直到遇到匹配选择器的元素为止。
.siblings() 获得匹配元素集合中所有元素的同辈元素,由选择器筛选(可选)。
.slice() 将匹配元素集合缩减为指定范围的子集。
5. DOM操作
5.1 创建节点
<script type="text/javascript">//js的写法var div=document.createElement("div");var txt=document.createTextNode("DOM");div.appendChild(txt);div.setAttribute("title","盒子");document.body.appendChild(div);//jquery写法1//var div2=$('<div title="盒子">JQUERY</div>');//jquery写法2var div2=$("<div></div>");div2.text("JQUERY");div2.attr("title","盒子")$("body").append(div2)
</script>
生成的代码:
<div title="盒子">DOM</div>
<div title="盒子">JQUERY</div>
5.2 插入节点
方法 说明
append() a.append(b)在a内部加入b,b是a的last child
appendTo() a.appendTo(b)等同于b.append(a)
prepend() a.prepend(b)在a内部加入b,b是a的first child
prependTo() a.prependTo (b)等同于b.prepend(a)
after() a.after(b)在a外部加入b,b是紧随a的兄弟节点
insertAfter() a.insertAfter(b)等同于b.after(a)
before() a.before(b)在a外部加入b,b是在a之前紧邻的兄弟节点
insertBefore() a.insertBefore(b)等同于b.before(a)
位置示意图:
<!--before-->
<div><!--prepend-->内容<!--append-->
</div>
<!--after-->
5.3 删除元素
方法 说明
remove([selector]) 移除元素
empty() 清空元素内部
detach([selector]) 与remove方法类似,元素移除,但元素绑定的事件会被保留。
<input type="button" onclick="removeDiv()" value="移除">
<input type="button" onclick="addDiv()" value="添加">
<div style="width: 100px;height: 100px;border: 1px solid #ccc">内容
</div><script type="text/javascript">$("div").click(function () {alert(1)})var aa;//缓存被移除的元素function removeDiv() {aa = $("div").remove();}function addDiv() {$("body").append(aa);}
</script>
5.4 克隆节点
clone([withDataAndEvents],[deepWithDataAndEvents])
withDataAndEvents表示是否处理事件
deepWithDataAndEvents设置是否复制处理事件和克隆元素的所有子元素进行数据复制。
<input id="aa" onclick="alert(1)">
<input type="button" value="克隆" onclick="cloneTest()"/>
<script type="text/javascript">$(function () {$("#aa").change(function () {alert(2)})})function cloneTest() {//clone中设置true,change事件会被复制$("body").append($("#aa").clone(true))}
</script>
5.5 替换内容
a.replaceWith(b) 用b替换a。等同于b.replaceAll(a)
aa
5.6 包裹内容
包裹有三个方法:wrap(),wrapInner(),wrapAll()
目标元素:
<div class="aa">aa</div>
<div class="aa">aa</div><!--$(".aa").wrap("<a></a>")-->
<a><div class="aa">aa</div></a>
<a><div class="aa">aa</div></a>
<!--$(".aa").wrapInner("<a></a>")-->
<div class="aa"><a>aa</a></div>
<div class="aa"><a>aa</a></div>
<!--$(".aa").wrapAll("<a></a>")-->
<a><div class="aa">aa</div><div class="aa">aa</div>
</a>
卸包unwrap()删除匹配元素的父级元素,保留自身。
5.7 操作属性
prop()和attr()都用来操作属性。传递一个参数时是获取属性值,传递两个参数时是给属性赋值。
只设置属性名,不需要设置属性值的时候或属性值只有true和false的时候,使用prop()方法。
removeProp()和removeAttr()用于删除属性。
5.8 添加类属性
addClass()添加class。removeClass()删除class。toggleClass()自动切换class
5.9 读写内容
html()、text()、val()
5.10 样式操作
css()设置或获取样式。
offset()获取绝对定位,即相对于浏览器左上角的定位。返回包括top和left两个属性的对象。
position()获得相对定位,即相对于距离最近的父定位元素的左上角便宜。
width(),height()设置大小。
innerHeight(),innerWidth(),outerHeight(),outetWidth()
6. 事件处理
bind 绑定一个事件
one 绑定一个事件,但只生效一次
unbind 解除绑定事件
<input type="button" value="one" id="aa"/>
<input type="button" value="bind" id="bb"/>
<input type="button" value="unbind" id="cc"/>
<script type="text/javascript">$(function () {$("#aa").one("click", function () {alert("one");});$("#bb").bind("click", function () {alert("bind");});$("#cc").bind("click",function () {$("#bb").unbind("click");});})
</script>
常用事件:
blur,dblclick,keydown,select,change,error,keypress,submit,click,focus,keyup
为未来对象绑定事件:
<div style="width: 100%;border: 1px solid #ccc"></div>
<input type="button" value="one" id="aa"/>
<script type="text/javascript">$(function () {$("#aa").bind("click", function () {$("div").append('<input type="button" class="bb"/>');});$("div").on("click",'.bb', function () {alert("new");});})
</script>
选择器选中的是父元素。
7. 动画设计
显示:show()
隐藏:hide()
显隐切换:toggle()
滑动显示:slideDown()
滑动隐藏:slideUp()
显隐滑动切换:slideToggle()
淡入:fadeIn()
淡出:fadeOut()
设置淡出透明效果:fadeTo(time,opacity)
自动切换淡入淡出:fadeToggle(time)
自定义动画:animate
停止动画:stop([clearQueue],[jumpToEnd])
8. 工具函数
trim()去除字符串前后的空格
param()把对象转换成url参数
$.each(collection,function(index,valueOfElement){})遍历一个集合
查看全文
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dgrt.cn/a/2125909.html
如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!
相关文章:
jQuery入门教程
1. 概述
jQuery是一个JavaScript代码仓库,或称之为框架。jQuery功能强大。能快速方便的完成以下任务: 选择页面元素:jQuery有强大的选择器。 动态更改页面样式:由于浏览器对css样式的兼容性不容,js处理一些特殊的样式……
微信小程序——分包,使用分包,独立分包,分包预下载
一.分包-基础概念什么是分包分包指的是把一个完整的小程序项目,按照需求划分为不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载。2.分包的好处对小程序进行分包的好处主要有以下两点:●可以优化小程序首……
【JS、二】数组
文章目录数组的概念:创建数组:js创建数组有两种方式:获取数组元素:求数组中的最大值:函数:函数使用分为两步:形参和实参:函数形参和实参个数不匹配问题:return࿱……
随机、优先与权重——非平均概率的选择工具
文章目录随机、优先与权重动机非平均概率随机数的使用实现随机算法和选择算法分离PokerCroupier随机索引随机选中一个元素随机抽取一个元素从只读列表中随机选取多个元素从可变列表中随机抽取一个元素从可变列表中随机抽取 n 个元素随机选择 n 个元素回顾非平均概率算法按权重选……
UI界面设计-PyQt 5 前沿
UI界面设计-PyQt 5 前沿
PyQt
【配套课件】https://doc.itprojects.cn/0001.zhishi/python.0008.pyqt5rumen/index.html 点击下方对应标题可获得对应功能的代码。 一、安装
pip install PyQt5 -i https://pypi.douban.com/simplepip install PyQt5-tools -i https://pypi.do……
恶搞代码
<a href"" onMouseover"alert(‘为什么把鼠标放到这里?’);
alert(‘我不是说过不可以这样吗?’);
alert(‘你把我的话当什么了?’);
alert(‘你知道错了吗?’);
alert(‘什么?你居然…’);
alert(‘居然……
ServletRequest、 HttpServletRequest、Request的联系与区别
一 servlet理论上可以处理多种形式的请求响应形式 http只是其中之一
所以HttpServletRequest HttpServletResponse分别是ServletRequest和ServletResponse的子类二 HttpServletRequest和ServletRequest都是接口 HttpServletRequest继承自ServletRequestHttpServletRequest比Se……
SQL常用增删改查语句
1增
1.1【插入单行】 insert [into] <表名> (列名) values (列值) 例:insert into Strdents (姓名,性别,出生日期) values (‘开心朋朋’,‘男’,‘1980/6/15’)
1.2【将现有表数据添加到一个已有表】 insert into <已有的新表> (列名) select <原……
并行主存系统
1.并行主存系统交叉访问概念 2.公式 3.例题 1.设主存每个分体的存取周期为2us,宽度为4个字节。采用模m多分体交叉存取,但实际频宽只能达到最大频宽的0.6倍。现在要求主存实际频宽为4MB/s,问主存模数m应取多少,方能使两者速度基本适配? 1.访问周期为2us,也就是:Tm = 2 * ……
国产蓝牙耳机哪个好?2023国产无线蓝牙耳机排名
随着智能终端的不断普及,以及消费者对高质量的耳机产品的日益增长的需求,功能也将不断提升,对于绝大多数用户来说,蓝牙耳机听音乐给力就足够了,这次为大家带来4款热门国产真无线蓝牙耳机,整体听感不俗。大家……
JavaScript【六】JavaScript中的字符串(String)
文章目录🌟前言🌟字符串(String)🌟单引号和双引号的区别🌟属性🌟 length :字符串的长度🌟 方法🌟 str.charAt(index);🌟 str.charCodeAt(index);🌟 String.fromCharCode(……
获取文件MD5小案例(未拆分文件)
文章目录前端获取MD5后端获取MD5前端获取MD5
1、引入js
<script src"js/spark-md5.min.js" type"text/javascript"></script>注:spark-md5库GitHub链接 2、这里是一个按钮和被隐藏调的<input/>标签 <body><button……
Java 进阶(15)线程安全集合
CopyOnWriteArrayList
线程安全的ArrayList,加强版读写分离。
写有锁,读⽆锁,读写之间不阻塞,优于读写锁。
写⼊时,先copy⼀个容器副本、再添加新元素,最后替换引⽤。
使⽤⽅式与ArrayList⽆异。
示例……
HR:面试官最爱问的linux问题,看看你能答对多少
文章目录摘要Linux的文件系统是什么样子的?如何访问和管理文件和目录?如何在Linux中查看和管理进程?如何使用Linux命令行工具来查看系统资源使用情况?如何配置Linux系统的网络设置?如何使用Linux的cron任务调度器来执行……
vscode开发常用的工具栏选项,查看源码技巧以及【vscode常用的快捷键】
一、开发常用的工具栏选项
1、当前打开的文件快速在左侧资源树中定位: 其实打开了当前的文件已经有在左侧资源树木定位了,只是颜色比较浅 2、打开太多文件的时候,可以关闭 3、设置查看当前类或文件的结构 OUTLINE
相当于idea 查看当前类或接……
数据要素化条件之一:原始性
随着技术的发展,计算机不仅成为人类处理信息的工具,而且逐渐地具有自主处理数据的能力,出现了替代人工的数据智能技术。数据智能的大规模使用需要关于同一分析对象或同一问题的、来源于不同数据源的海量数据。这种数据必须是针对特定对象的记……
【面试题 高逼格利用 类实现加法】编写代码, 实现多线程数组求和.
编写代码, 实现多线程数组求和.关键1. 数组的初始化关键2. 奇偶的相加import java.util.Random;public class Thread_2533 {public static void main(String[] args) throws InterruptedException {// 记录开始时间long start System.currentTimeMillis();// 1. 给定一个很长的……
一个python训练
美国:28:麻省理工学院,斯坦福大学,哈佛大学,加州理工学院,芝加哥大学,普林斯顿大学,宾夕法尼亚大学,耶鲁大学,康奈尔大学,哥伦比亚大学,密歇根大学安娜堡分校,约翰霍普金斯大学,西北大学,加州大学伯克利分校,纽约大学,加州大学洛杉矶分校,杜克大学,卡内基梅隆大学,加州大学圣地……
Mybatis03学习笔记
目录 使用注解开发
设置事务自动提交
mybatis运行原理
注解CRUD
lombok使用(偷懒神器,大神都不建议使用)
复杂查询环境(多对一)
复杂查询环境(一对多)
动态sql环境搭建
动态sql常用标签……
编程日记2023/4/16 14:55:50
设置或取得c# NumericUpDown 编辑框值的方法,(注意:不是Value值)
本人在C#开发中使用到了NumericUpDown控件,但是发现该控件不能直接控制显示值,经研究得到下面的解决办法
NumericUpDown由于是由多个控件组合而来的控件,其中包含一个类似TextBox的控件,若想取得或改变其中的值要使用如下方法
N……
编程日记2023/4/16 14:55:46