jQuery方法解析(二)prop

来源:互联网 发布:lua windows安装 编辑:程序博客网 时间:2024/05/21 09:44

      昨天媳妇挑了一个append,今天挑了一个prop,还真会挑......       

     接下来几天的jq均已jq1.7.1这个版本为例。

跟昨天一样,我们先来看看api是怎么写的:

获取在匹配的元素集中的第一个元素的属性值。


看完api你是否觉得和attr函数很想呢?如果还不了解attr那么请你祈祷俺媳妇早日挑到这个函数吧。

好了我们来看函数吧,这个函数接受4种参数

1、name:String,这个比较容易理解$("选择器").prop("key");获取到选择器的key属性,当然前提是对象存在key这个属性

2、properties:map,其实个人觉得这个类型描述成object比较容易看懂,这是个设置属性的方法,哈哈,写法就是$(“选择器”).prop({key1:1,key2,"value2"});如此设置之后再用前面的方法获取,有个要注意的是使用prop方法添加的属性可以判别数据类型哦,至于为什么,我们后面分析。

3、key,value,分别key是string类型,value是object类型,注意,这个object不一定必须是对象或者啥,你也可以是string,因为取值方面能够区分数据类型,所以value理论上是可以放任何类型的,当然,如果你放function类型,那么恭喜你,会进入第四种情况。

4、key,function(index, attr),key同上,value变成了function,这个function在执行的时候接受2个参数,index和attr,这个i是在执行过程中选择器中的索引,不好理解就看看第一篇,attr就是选择器中原来key所对应的值,我们看个例子吧。

$("body").html('<div id="d1" class="c1"></div><div id="d2" class="c1"></div>');$("#d1").prop("key",1);//注意这里是Number类型$("#d2").prop("key","2");//注意这里是String类型$(".c1").prop("key",function(i,attr){alert(typeof attr);alert(attr)})

运行上面的代码,我们能够很轻松的理解第四种情况,如有不明白的请留言。

当然上面的例子没有return 任何东西,实验结果是元素的属性未做任何改变,原因我们等下看源码。

好了api讲的差不多了,我们看看源码吧。


看到这个接口,我意识到还有个prop,赶紧ctrl+F

看下面截图之前,先科普下,

nodeType有12个值

1表示元素节点

2表示属性节点

3表示文本节点

4表示CDATA_SECTION_NODE(CDATA片段)

5表示ENTITY_REFERENCE_NODE(实体参考?)

6表示ENTITY(实体名称?)

7表示PROCESSING_INSTRUCTION_NODE(处理指令节点)

8表示注释内容节点

9表示文档节点

10表示文档类型节点

11表示文档片段节点

12表示符号节点

至于每种节点表示的东西,大家可以谷歌下

看完jQuery.prop我们看看核心的


好了今天就到这吧,明天有特别希望看的吗?请留言

大家瞅瞅 有木有不对的,求斧正,另外大家可以加俺的QQ群:43881427一起讨论讨论前端问题里面还有.net  SQL的高手哦


原创粉丝点击