对jQuery的属性和道具的使用介绍

属性和属性

属性和属性都可以转换为属性。为了显示差异,这两个词通常被翻译成属性和属性。

点击这里

在HTML语句有三个节点,元素div和属性ID分别为文本,点击这里,属性是最常见的类型的节点,我们正式指的是attribute.getattribute Javascript的特殊处理功能(名称)/属性(名称、值)。当然,属性不是一个我们可以看到在HTML文档中,我们可以自定义属性添加到DOM节点

复制代码代码如下所示:
一百二十三


var t = document.getelementbyid(测试);
t.setattribute(阶级、活动);
t.setattribute('customizedattr ','customized);



这允许将div修改为

复制代码代码如下:123

设置的方法将属性最终将反映在该元素的属性类型节点

属性是DOM对象的字段,就像我们通常使用的许多对象一样,包括许多字段。这些字段是属性。值或值被设置为对象字段。

看来,属性和属性应该与它无关。属性和财产容易混合姚因为许多属性节点和相应的属性,如上面DIV的ID属性也可以使用t.id访问(事实上,大多数人都会通过物业),改变身份,使用getattibute来获得的ID更新ID。

复制代码代码如下所示:
t.id = 'test1;
console.log(t.getattribute('id')); / /试验


我们还可以自定义属性。

复制代码代码如下所示:
t.customizedprop = 'customized支柱;


差异

1。在建立在财产属性和财产分享数据,属性的变化将对房地产的影响,反之亦然,但自定义属性数据是独立的,即使是名字,也不影响对方,看起来像下面的图片,但IE6,7没有区别,共享自定义属性数据仍然是





2、并不是所有属性都与相应的属性名称一致,如刚刚使用的属性的class属性。使用属性时,它应该是。

复制代码代码如下:t.classname = 'active2;

3、对于具有与输入的选中属性类似的真值的属性,属性得到的值是HTML文档的文字值,属性得到计算结果,属性的变化不影响属性的字体大小,但属性的变化总是被计算出来的。
复制代码代码如下所示:

复制代码代码如下所示:
var t = document.getelementbyid('test3);
console.log(t.getattribute('checked ')); / /空
console.log(t.checked); / /假;

t.setattribute('checked ','checked);
console.log(t.getattribute('checked ')); / /检查
console.log(t.checked); / /真的

t.checked = false;
console.log(t.getattribute('checked ')); / /检查
console.log(t.checked); / /假


4、对于某些与路径相关的属性,它们得到不同的值,但属性也是字面上的,属性是计算之后的完整路径。

复制代码代码如下所示:
点击

复制代码代码如下所示:
var t = document.getelementbyid('test4);
console.log(t.getattribute('href ')); / / #
console.log(t.href); / / / / 文件:/ C: / / /桌面用户必晟 / /的HTML # SS匿名。

至于造成浏览器兼容性问题(IE),我们可以看到,即使DOM对象的属性(属性)和HTML标签属性(属性),从而在setAttribute和getAttribute正确实施。


属性和道具

在看了上面的内容之后,你知道为什么jQuery添加了道具方法,并且在jQuery API中有一个特别的解释。

属性与属性

在一些特殊情况下,属性和属性之间的差异是非常大的。前jQuery1.6,attr()方法,使用属性值时得到的一些属性,这可能会导致一些不一致的行为。在jQuery1.6,的。道具()方法提供了一个明确的方式来获得财产的价值,使。attr()方法只返回属性。

例如,SelectedIndex,标签名,节点名、节点类型、ownerdocument,defaultchecked,和defaultselected应该使用。道具()获取/设置值的方法。之前jQuery1.6,这些财产,不属于属性,需要通过。attr()方法,没有相应的属性,唯一的财产。

布尔型属性,如一个HTML标签,这一命名是Javascript元素

复制代码代码如下所示:







elem.checked
真(布尔)将随复选框状态而改变

$(元)。道具(检查)
真(布尔)将随复选框状态而改变

elem.getattribute(检查)
复选框的检查(字符串)初始状态;不更改

$(元)。Attr(检查)(1.6)
复选框的检查(字符串)初始状态;不更改

$(元)。Attr(检查)(1.6.1 +)
复选框(字符串)将随复选框状态而改变

$(元)。Attr(检查)(pre-1.6)
真(布尔)随复选框状态而改变
根据W3C表单规范,选中的属性是一个布尔值,这意味着只要选中的属性显示在HTML中,对应的属性应该是真的,即使选中没有值,这也适用于其他布尔类型属性。

要记得检查属性,最重要的事,但是,是不是为Checked属性相同。事实上,这个属性是defaultchecked属性一样,它只能用于设置复选框的初始值。检查属性不会随着checkedbox的状态变化,但检查属性的变化。所以浏览器兼容checkebox判断是否应选择应该使用的财产

复制代码代码如下所示:
如果(元素。检查)
如果(元(元)。道具(检查))
如果(元(元),(:检查))


这也适用于其他动态属性,如选择和值。

在IE9之前的版本,如果物业不在DOM元素被删除,财产的价值(简单类型:数字,字符串,布尔除外)成立。道具()方法,这可能会导致内存泄漏,确保DOM对象的价值和避免内存泄漏,的。数据()方法可以用。

使用场景

事实上,它是明确的,当我读了上面的内容,当使用。Attr(时)使用。道具(),它是很清楚的,但我还是传递了一个非常流行的图片。