removeAttr() 和 removeProp() 以及 removeClass("类名")和removeClass()的区别

来源:互联网 发布:淘宝淘友在哪儿看 编辑:程序博客网 时间:2024/06/06 21:37

http://blog.csdn.net/qq_35809245/article/details/54389797

一: 大家先将固有属性新增属性理解一下,基本定义这篇链接我写的很清楚,我直接代码演示:

对于固有属性:

html代码:



jquery代码1:

        $("div").removeAttr("title");

结果

    <div class="cls1 cls2" id="dv" ></div>    <div class="cls1 cls2" id="dv1" ></div>

removeAttr(“固有属性名”)会直接将所有匹配到的元素的该属性删除掉,包括属性名和属性值

jquery代码2:

        $("div").removeProp("title");

结果

        <div class="cls1 cls2" id="dv" title=undefined ></div>        <div class="cls1 cls2" id="dv1" title=undefined></div>

removeProp(“固有属性名”)仅仅会移除掉所有匹配到的元素的固有属性的值,(不能移除新增属性),属性名会保留。

对于新增属性:

html代码:



jquery代码:

        $("div").attr("index","1")

这行代码执行后,

    <div class="cls1 cls2" id="dv" title="我是一个div" index="1" ></div>    <div class="cls1 cls2" id="dv1" title="我是一个div" index="1"></div>

然后:1 用removeAttr(“属性名“)

    $("div").removeAttr("title");

这行代码执行后:



如果 2 用 removeProp(”属性名“)

        $("div").removeProp("index");

这行代码执行后:

    <div class="cls1 cls2" id="dv" title="我是一个div" index="1" ></div>    <div class="cls1 cls2" id="dv1" title="我是一个div" index="1"></div>

二 总结:如果想要移除元素的属性有两种方法
1 removeAttr(“属性名”),该方法可以移除固有属性新增属性的属性,包括属性名和属性值一并移除
2 removeProp(”属性名”),该方法仅仅可以移除固有属性的属性值,并不能移除新增属性的属性值,并且仅仅移除属性值变为 undefined,不会移除属性。

扩展福利

3 removeAttr( ) ,removeProp( )如果里面不写属性名,则不会移除任何属性,这点和removeClass( ),如果removeClass( ),里面不写类名的话,那么将移除匹配到元素的所有的class 类名,如果写了类名,那么仅仅移除匹配到的所有元素的该类名。
html 代码

    <div class="cls1 cls2" id="dv" title="我是一个div" ></div>    <div class="cls1 cls2" id="dv1" title="我是一个div"></div>

jquery代码第一种情况

$("div").removeClass();

执行后:

    <div classid="dv" title="我是一个div" ></div>    <div class id="dv1" title="我是一个div"></div>

jquery代码第二种情况

        $("div").removeClass("cls1");    <div class="cls2" id="dv" title="我是一个div" ></div>    <div class="cls2" id="dv1" title="我是一个div"></div>   

三 :如果觉得有用转载回去细细品味下,然后最好自己多练习几遍。晚安,各位勤奋的天才们!!!

0 0
原创粉丝点击