注意:一下操作只有针对jQuery对象才有用。
一.获取和设置DOM属性 1. $("li").attr("class") 获取li的class属性 只能获取第一个 解决方法 用map遍历 index下标 ele是对用dom 下面可以用this代替 $("li").map(function (index,ele) { console.log($(ele).attr("class")); })
2.设置属性 【$(this).index() 获取索引】 $("li").attr("class","classname")或者 $("li").attr({ "class":"classname", "id":"box" })
demo:点击不同 li 显示不同的图片
$("li").click(function () { var index=$(this).index()+1 两种方法都可以 var index=$("li").index($(this))+1 这个可以用来接收li的索引值 $(".gg img").attr("src","http://m.jjchfcyy.cn/zt2/zt"+index+".jpg") })
引申:
固有属性:id class src href title type alt value .attr支持固有和自定义 , .prop 只支持固有(判断checkbox动态返回true和false)
<input type="checkbox" checked="checked">
console.log($("input:checkbox").prop("checked")) 返回true
二 html 代码 文本 值 【改和查】 1. text() - 取值和赋值都是一组,超级重要,要修改请深入修改 面对谁修改 $(".kk").text("文本") 括号没参数就是取值
html() - 取值和赋值(带html标记)[碰到对象的话 取值第一个] val() - 设置或返回表单字段的值 $("input").val()
2.包裹:
$("ul").wrap("<div class='wrap'></div>"); 把所有的ul 用div分别包起来 $(".cc").unwrap(); 把这个cc的父级去掉 $(".cc").wrapAll("<div></div>"); 所有的.cc 包一起 $(".dd").wrapInner("<div></div>"); 把.dd的内容用div包起来
三 增加和删除
1. 父子之间插入
$li=$("<li>内容</li>") var son=$("<img src="+"https://www.baidu.com/img/baidu_jgylogo3.gif"+">") $(".father").prepend(son) 插在前面 $(".father").append(son) 插在后面 $(son).prependto(".father") 插在前面 $(son).appendto(“.father”) 插在后面 父节点.prepend(子节点) 父节点.append(子节点) 子节点.prependto(父节点) 子节点.appendto(父节点)
2.兄弟元素之间插入 旧节点.after(新节点),新节点.insertAfter(旧节点)
$(".p2").after($("<span/>")) .p2的后面放span 这么理解
$("<span/>").insertAfter($(".p2")) 把span放到 p2的后面 [insert 是插入的动作]
before也是如此
$("b").clone() 复制一个b标签 随便可以用来插入别的地方
3. 元素删除 $(".father img").remove(); 谁调用.remove() 就删谁
$a=$(".p2").remove(); 删完之后 用$a来接收,
$(".ab").remove(".dd") 同时满足 class ab和dd的元素删除
$a.insertAfter(".p3"); 把接收的东西插入到p3
$(".p4").empty(); 这个是清空p4下所有的节点和文字,儿子孙子什么的都清空 只留下p4
4.替换 $(".dd").replaceWith("<span class="+"dd"+">155</span>") 把前面的替换为后面的 $("<span class="+"dd"+">155</span>").replaceAll(".dd") 旧节点.replaceWith(新节点) 新节点.replaceAll(旧节点)
5.复制 节点
$("ul li").click(function () { $(this).clone().appendTo("ul");})
六 常用css的属性 【改和查】 1.$("img").offset().left 和top 可以获取 也可以改变 这个是相对视口 $("img").offset({ left:600,top:300})
非定位元素 获取坐标
$("img").offset().left+" "+$("img").offset().top; 可以制作跟随鼠标的效果
2.$("img").position() 只可以获取 不能设置
有定位之后 在空中一般用这个 位置变动 $("img").position().left+" "+$("img").position().top;
注意 $.position().left 这个才是获取 css中left的值
3.$("img").height(500) 这个是给高度设置500 ,不设置参数就是获取高度
$("img").css("width") 和这个一样 这个返回的带px css带单位
width()content, innerWidth()content+padding, outerWidth() content+padding+border, outerWidth(true) content+padding+border+margin,
$(window).scroll(fun)
$(window).scrollTop()获取屏幕滚动的高度
$(window).height()获取屏幕可视区域的高
$(document).height() 获取文档的高度 滚动条也包含
4. 来回切换class
$("button").click(function(){ $("p").toggleClass("main"); });点击4次 切换一次
var count = 0; $(document).ready(function(){ $("button").click(function(){ $("p").toggleClass("main", count++ % 4== 0); }); });
1. hasClass(“class”) 判断是否有这个class2. addClass(“class”)增加, removeClass(“class”)删除,toggleClass(“cc”)有就删cc,没有增加cc。
$("li").click(function () { $(this).toggleClass("bb") }) $("li").click(function () { if ($(this).hasClass("bb")) { $(this).removeClass("bb") }else{ $(this).addClass("bb") } }) $("li").click(function () { if ($(this).attr("class")=="aa") { $(this).addClass("bb") }else{ $(this).removeClass("bb") } })
转载于:https://www.cnblogs.com/nice2018/p/9939617.html