Jquery的一些基础知识记录(DOM操作)

(1)$("ul li:eq(2)").text(  ),注意text(  )为空,不是说要将它的文本置为空值,而是要取得它的文本值。真要置为空,则$("ul li:eq(2)").text(“”)。改变值则随意填入数字,如$("ul li:eq(2)").text(100)。

(2)创建元素节点,不像js那样有明确方法如document.createElement,会更像innderHTML,用$(html)方式,如$("<li></li>")创建了一个li元素。删除节点,用remove(  ),如$("#f").remove(  ),删除id为f的节点。原生方法则比较麻烦:parentNode.removeChild(node)empty(  )不是删除节点,而是清空节点的内容。

(3)A.append(B),因为原生js是appendChild,而这里没加child,所以很容易误会成是在A元素的后头加上B。其实实际的操作结果是B被插入A内部。同时B的位置在A内容之后A结束标签之前,如果B内容要放A内容之前,则要使用prepend。 另外A.append(B)等价于B.appendTo(A)。

注意这里的误会,恰好可以学一个新方法,就是after(  )和before,这个不是在元素内部加东西,而是在元素外部添加节点。("p").after("<b>你好</b>"),意思就是在后面加上你好,不要以为是p在你好的后面。。。这里很容易弄错。结果是:<p>你好</p><b>你好</b>。理解成为后面的就是什么什么,而("p").insertAfter("<b>你好</b>"),这个就理解为插到你好之后。

(4)<p><b>我们都是好孩子</b></p>,$("p").text( )的结果是我们都是好孩子,$("p").html( )的结果是<b>我们都是好孩子</b>,一个只取文本,一个取html。注意text(  )相当于js的innerText,要注意innerText在firefox中不能运行,而jquery没有这样的问题。

(5)val()和text(),前者只适用于表单,有value属性的(<input type="text" value="输入名字">),而后者适用于一般的元素。$("input").val(  )是用来取到input里的value值。

(6)children(  )方法可以取到子元素,注意只包括直接子元素,不包括子元素的子元素。如$("ul").children(  ).length,如果底下有3个li,则值为3。注意这个方法相当于ul>li,而非ul li,因为后者还包括子元素的子元素。

(7)$("#f").position(  ).left/top 获取左/下偏移。没有.right和.bottom。不一定要设置了relative才可以去,默认是static也行。

(8)改css操作,$("p").css("color","red"),如果要改多个样式,则里头要用到大括号{  },如$("p").css({"color”:“red”,“font-size”:“12px"}),相当于css的写法。注意样式之间用逗号隔开,每个样式的属性和属性值最好都加上双引号。连续改多个样式,是一种类似对象直接量的写法。

(9)slideUp和slideDown也是动画,是拉伸和舒展的方法,也可以在里头加时间,效果很不错。

(10)if( $("#f").is(":checked") ){  },用is的方式来判断是否被选中,然后触发事件。这个写法其实和not的写法相似,如$("div").not(":checked"),is和not都是在两个括号之间。

(11)var b=$("ul li:eq(2)").clone(  )clone(  )是克隆节点的做法。如果clone(  )括号里加上true,这被复制节点上注册的事件也会被复制过来。 clone(true)

(12).attr()获取属性,.removeAttr()删除某个属性。

attr("width"),注意里头一定要带引号。

(13) addClass()如果元素本身没有class,则会新建一个,如果本身已经有则一个class会有两个值,值之间用空格隔开。甚至有第3个,乃至更多。

(14) $("ul li:eq(1)").replaceWith("<p> 我们都是</p>"),替换节点用replaceWith(  )。

(14)$ ("<p> 我们都是</p>").replaceAll($("ul li:eq(1)")),和replaceWith(  )的区别在于顺序,要注意调换过来后, ("<p> 我们都是</p>")前面要加上”$“符号。

(15)$("p").wrap("<div></div>")在两边包上一个<div>标签,注意如果是$("p").wrapAll("<div></div>"),前者每个p都包上<div>标签,后者是将所有的p用一个<div>包起来。wrapInner(  )则是被包住。。反向操作。

(16)var $a=$("<p>我们都是好孩子</p>"),$("body").append($a)。等价于$("body").append(“<p>我们都是好孩子</p>”),注意后一种写法,括号里就没必要再加上$(  )这样添加节点的方式啦。

(17)$("#fs").text("<a>haha</a>"),html(  )的时候可以加入标签,而如果是在text(  )加标签的话,标签并不会得到解析,而是会被转码,如<符号会转成"&lt",这样会原样输出<号,所以要添加html,还是要用html(  )。

(18)remove(  )是移除节点,empty(  )是清空节点。

(19)

            



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值