在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。
关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单:
对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
上面的描述也许有点模糊,举几个例子就知道了。
<a href="http://www.baidu.com" target="_self" class="btn">百度</a>
这个例子里<a>元素的DOM属性有“href、target和class",这些属性就是<a>元素本身就带有的属性,也是W3C标准里就包含有这几个属性,或者说在IDE里能够智能提示出的属性,这些就叫做固有属性。处理这些属性时,建议使用prop方法。
<a href="#" id="link1" action="delete">删除</a>
这个例子里<a>元素的DOM属性有“href、id和action”,很明显,前两个是固有属性,而后面一个“action”属性是我们自己自定义上去的,<a>元素本身是没有这个属性的。这种就是自定义的DOM属性。处理这些属性时,建议使用attr方法。使用prop方法取值和设置属性值时,都会返回undefined值。
再举一个例子:
<input id="chk1" type="checkbox" />是否可见 <input id="chk2" type="checkbox" checked="checked" />是否可见
像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。
$("#chk1").prop("checked") == false $("#chk2").prop("checked") == true
如果上面使用attr方法,则会出现:
$("#chk1").attr("checked") == undefined $("#chk2").attr("checked") == "checked"
相关推荐
在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。 关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单: • 对于HTML元素本身...
在jQuery中,`attr`和`prop`是两个用于获取和设置HTML元素属性的方法,但它们之间存在着重要的区别。在高版本的jQuery中,引入`prop`方法是为了更精确地处理元素的特性,特别是那些与JavaScript行为密切相关的属性。...
在JavaScript的世界里,...同时,`attr()`与jQuery的其他方法如`data()`、`prop()`等相结合,能构建出更复杂的前端应用。实践是检验真理的唯一标准,尝试在自己的项目中运用这些知识,你会发现它们的实用性与强大之处。
总结一下,`attr()` 和 `prop()` 的主要区别在于: 1. `attr()` 用于获取HTML标签中的属性值,这可能不反映元素的实时状态。 2. `prop()` 用于获取元素的JavaScript属性值,它会反映元素的当前状态,包括用户交互...
除了获取内容和属性,jQuery还提供了丰富的API用于修改这些内容和属性,如`append()`、`prepend()`、`attr('attributeName', 'value')`等。这些方法使得DOM操作变得更加流畅,减少了代码量,提高了开发效率。 在...
在jQuery中,`prop()`和`attr()`方法都是用于处理元素的属性,但它们之间存在重要的区别,尤其是在处理特定类型的属性时。这篇文章将深入探讨这两个方法的差异,并给出何时使用它们的指导原则。 首先,`attr()`方法...
attr() 方法设置或返回被选元素的属性和值。 当该方法用于返回属性值,则返回第一个匹配元素的值。 当该方法用于设置属性值,则为匹配元素设置一个或多个属性/值对。 prop(): prop() 方法设置或返回被选元素的属性和...
$(“form”).attr(“check”); $(“form”).prop(“check”); 两种都可以,不过新版jquery推荐第二种,两个在其他方面都差不多,我发现的唯一不同就是在checkbox上的时候,需要用prop,不然IE浏览器会不兼容 代码...
`prop()` 方法在jQuery 1.6版本中被引入,以区分属性(properties)和特性(attributes)的区别。 **prop() 定义和用法** `prop()` 方法可以用来获取或设置匹配元素集合中每个元素的特定属性值。当仅提供属性名时,...
通过这个方法可以方便地从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回 undefined ) 2. attr(属性名, 属性值) //设置属性的值 (为所有匹配的元素设置一个属性值。) 3. attr(属性名,函数值) /...
"JQ 自动生成目录和点击跳转固定位置"是一个常见的功能需求,尤其在长篇幅的文章或文档展示中,能够帮助用户快速导航并定位到感兴趣的部分。下面我们将深入探讨这一主题。 首先,生成目录通常是通过解析HTML中的...
Prop和attr的作用类似 相同点:两者都可以获取属性值和设置属性值 不同点:在处理checkbox上,建议使用prop,原因在于IE浏览器不兼容,因为是相似的所有个人建议使用prop 删除属性的时候使用:removeProp(“xxx”) ...
在jQuery中,处理复选框(checkbox)的状态时,可能会遇到一个问题,即使用`attr()`方法无法正确地进行二次勾选。...同时,理解`attr()`和`prop()`的区别,有助于编写更稳定、更高效的jQuery代码。
`.each()`方法可能用于遍历所有的选项,`.attr()`和`.prop()`用于设置和获取元素属性(如checked状态)。同时,`.append()`和`.html()`可能用于动态插入或修改DOM内容,`.show()`和`.hide()`则控制弹出框的显示和...
1. **属性操作(Attributes)**:`.attr()`用于获取或设置元素属性,`.removeAttr()`移除属性,`.prop()`处理布尔型属性。 2. **内容操作(Content)**:`.html()`用于获取或设置元素的HTML内容,`.text()`处理文本...
在JavaScript的世界里,jQuery(简称JQ)是一个广泛使用的库,极大地简化了DOM操作、事件处理、动画制作和Ajax交互。本篇文章将深入探讨“JQ属性操作”这一主题,结合给定的“demo”文件,我们将理解如何利用jQuery...
### jQuery方法大全解析 #### 一、样式与属性操作 - **`addClass(css类名)`**: 此方法用于向被选元素添加一个或...无论是对初学者还是有经验的开发者而言,熟练掌握这些方法都将大大提高Web开发效率和代码可维护性。
在网页开发中,"jq 三级联动"通常指的是使用jQuery库实现的三个层次的数据关联和交互效果。这种联动常用于下拉菜单、地区选择、商品分类等场景,使得用户在一个选项选择后,其他关联的选项能够自动更新。下面将详细...
JQ属性操作:如$("#p1").attr()、$("#p1").removeAttribute、$("#p1").prop()等方法,可以让你更方便地获取和设置HTML元素的属性。 JQ样式添加和移除:包括addClass()、removeClass、toggleClass()等方法,可以让你...
$(“input”).attr(“checked”,”checked”) 设置以后checkbox并没有变成选中状态,用chrome调试看了一下,checkbox中确实有checked属性,而且,值为checked,但是页面显示仍然为未选中状态 代码如下: $(“input”)...