使用jquery注意地方

1.$('selector')获取的永远是对象,即使该对象在网页上没有。因此当使用jQuery检查某个元素在网页上是否存在时,不能使用一下代码:
 if($("#test")){
  alert("有东西")
 }
而是应该取到元素的长度来判断,代码如下:
 if($("#test").length >0){
  alert("有东西")
 }else{
  alert("没有有东西!!!")
 }
或转换为dom对象来判断
 if($("#test")[0]){
  alert("有东西")
 }else{
  alert("没有有东西2222222222")
 }
2.$("prev+next")选择器用next()方法替代,$("prev~next")选择器用nextAll()方法替代
$(".one + idv") == $(".one").next("div")
$("#prev~div") == $("#prev").nextAll("div");
$("#prev~div")或$("#prev").nextAll("div")只选择"#prev"元素后面的同辈<div>元素。而sibling()方法与前后位置无关,只要是同辈都能匹配

3.:input
匹配所有 input, textarea, select 和 button 元素

4.选择器中的一些注意事项
4.1选择器中含有".","#","("或"]"等特殊字符
根据W3C的规定,属性值中是不能包含这些特殊字符的,但在实际项目中偶尔会遇到表达式中含有"#"和"."等特殊字符,如果按照普通的方式去处理的话就会出错。解决此类错误的方法就是使用转义字符。
HTML代码:
<div id="id#b">bb</div>
<div id="id[1]">bb</div>
$("#id#b") $("#id[1]")错误的
$("#id\\#b") $("#id\\[1\\]")正确的

5.内部节点移动
HTML代码:
<ul id="ulId">
 <li title="苹果">苹果</li>
 <li title="橘子">橘子</li>
 <li title="菠萝">菠萝</li>
</ul>
/*移动节点*/
var $li_1 = $("#ulId li:eq(1)");
var $li_2 = $("#ulId li:eq(2)");

$li_2.insertBefore($li_1);

6.删除节点,并且可以传递参数
var $li_1 = $("#ulId li:eq(1)").remove();;
$("#ulId li").remove("[title!=橘子]"); //正确

7.替换节点replaceWith和replaceAll功能一样,只是replaceAll用前面的替换后面的。
$("p").replaceWith("<b>你最喜欢的水果是?</b>")
$("<b>你最喜欢的水果是?</b>").replaceAll("p");

8.包裹节点
wrapAll()方法会将所有匹配的元素用一个元素来包裹。它不同于wrap()方法,wrap()方法是将所有的元素进行单独的包裹。

9.在css中有以下两条规定
a.如果给一个元素添加多个class值,那么就相当于合并了他们的样式
b.如果有不同的class设定了同一样式,则后者覆盖前者。

10.删除样式removeClass
$("p").removeClass("hign"); //删除p里的hign样式
$("p").removeClass("hign another"); //删除p里的hign和another样式
$("p").removeClass(); //删除p元素里边所有样式
注意:所以用removeClass一定要指定具体名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值