JQ DOM 新手必备知识(Java修仙体系结丹境)

JQ DOM

JQ的DOM,其实和JS的DOM没有多大的区别

在获取这一块,我们只要用选择器就好了。

JQ的DOM能完成一些比较复杂的操作,可以让用户体验更加流程,并且不需要太多的代码就可以完成。

我们从四个方面开始说

内容操作
属性操作
效果
事件

// 内容操作,就是获取元素里面的一些内容,下面举个栗子
$("#hentai").html();	// 获取/设置 包含ID值为hentai的元素的标签体中的内容,注意,是整个标签体包含的内容!!!如果里面写入值了,就是进行设置
text();	// 获取/设置元素标签体中的纯文本内容,text()和html()大家可以自行去对比一下
val();	// 获取/设置元素的value属性值,()为空则是获取,反正则是设置

属性操作

有一点需要说明,建议先看完底下的操作,在上来看这个

关于属性操作的建议
一、
如果是对API自带的属性进行操作,建议使用prop
如果是我们自定义的属性进行操作,建议使用attr,因为prop不能获取自定义属性

二、
对于选中属性,选中属性就是 checked、select等这些选中的属性

attr只能获取初始值,就是我们一开始设置的值,而且无论用户怎么操作,其获取的值永远只是初始值

prop可以获取用户进行操作后变动的值,并且以 true/false 返回,因为是选中属性嘛,无非就是 选中/没选中

所以在访问表单对象属性的时候,应该采用prop而非attr

$("#hentai").attr("属性名称","要设置的值");	// 这个方法可以 获取/设置 标签的属性值,()为空则是获取,反正设置

removeAttr("属性名称");	// 移除属性。

prop("属性名称","要设置的值");	// 这个方法和attr一样,只是有点区别而已,等全部看完了,看我上面写的

removeProp("属性名称");	// 嗯嗯,和上面一样

// 对于 class属性 的操作
$("#hentai").addClass("class名称");	// 这个方法可以用来添加class,注意是添加class名称,而不是直接添加class里面的css样式,不要搞混了

removeClass("class名称");	// 这个方法用来移除class

toggleClass("class名称");	// 这个方法用来切换class属性,判断如果元素对象上存在这个 class名称 ,有则将属性值 one 删除,否则增加

$("#d2").css({"background-color":"pink","color":"green"});	// 设置class属性,()里面需要加{},用:表示键值对, , 号隔开

效果操作,就是如题,效果操作,注意,隐藏之后的区域会被其他的元素填充!!!

$("#hentai").show(MSecond);	// 立即隐藏/延迟隐藏,单位是 秒,让你选择的元素隐藏
show(MSecond);	// 立即显示/延迟显示,单位是 秒,就是让你选择的元素出现而已,跟上面那个相对应
toggle(MSecond);	// 立即切换/延迟切换,单位 秒,点击隐藏否则显示,参考 toggleClass();

slideUp(MSecond);	// 立即向上滑动/延迟向上滑动,不说单位了,这个就是动态的隐藏,而且可以控制方式以动画形式隐藏,自己去试试
slideDown(MSecond);	// 立即向下滑动/延迟向下滑动,动态的隐藏?//
slideToggle(MSecond);	// 切换呗,自己去试试

fadeIn(MSecond);	// 淡入效果,就是将你选择的元素慢慢隐藏,从中心触发
fadeOut(MSecond);	// 淡出效果,自己悟
fadeToggle(MSecond);	// 嗯嗯,就是你想的那样
fadeTo("slow/normal/fast",0-1);	// 第一参数,设置速度 慢/中/快,第二参数,设置淡出程度,0-1之间取值,小数整数都可以

// 示例:
$("#hentai").fadeTo("slow",0.1);	// 淡出速度很慢,且几乎看不见

自定义动画,这个部分比较麻烦

需要预先将要获取的元素的 position的值设置为 relative | absolute | fixed

我们可以设置class的上下左右位置,就可以看到具体的效果了,左右摆动,很好玩

animate({css样式},MSecond,回调函数);	// 设置CSS样式并挨个执行{color:'red',...},结束之后执行函数体中的内容【回调函数】
// 例子,大家自己去看看:
$("#h1").animate({left:'100px',top:'100px',height:'100px'},2000,function(){
      alert("嗯嗯嗷嗷");
});

// 又到了我们最爱的事件环节,嗷嗷!!
click();	// 单击事件,不多解释
dblclick();	// 双击事件,就是字面意思
mouseover();	// 鼠标移入事件
mouseout();	// 鼠标移出事件
bind("事件1 事件2 ...",函数);	// 一次性绑定多个事件,最后执行回调函数,不过这玩意儿好像被弃用了,看底下的on()方法把
unbind();	// 解除事件,不给值则全部解绑,获取值,直接用event参数即可
on("事件1 事件2 ...",函数);	// 最好用 on 方法来绑定多个事件

// 例子
// 获取事件
$(function (){
    $("div").on("mousemove mouseover",function (event){
    	console.log(event);
    });
})
// 进行判断单独完成事件
$(function (){
    $("div").on("mousemove mouseover",function (event){
        if(event.type === "mousemove"){
            console.log(event)
        }
    });
})

⭐事件冒泡及阻止⭐

冒泡:当用户设置事件时,触发了子元素后,所有在其上面的元素都会被触发
阻止:在定义回调函数时写入 return false; 即可

如果这篇文章对你有用的话,记得点个赞哦!

修仙永无止境。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烟雨红尘客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值