HTML - 属性与属性
HTML - attributes vs properties
id
是HTML的属性还是属性?
我应该做$('#selector').attr('id');
还是$('#selector').prop('id');
我读了很多文章,仍然感到困惑。
有人可以向我解释一下HTML/JS中的属性和属性之间的区别吗?
属性由 HTML 定义。属性(在 DOM 元素上)由 DOM 定义(以及模糊标记和 DOM 之间界限的 HTML 5)。
某些 HTML 属性与属性的 1:1 映射。 id
就是一个例子。
有时名称不同。class
属性映射到 className
属性,value
属性映射到 defaultValue
属性(而 value
属性没有相应的属性)。
当我最初写这个答案时,我认为有些属性没有 1:1 映射到属性。通过此更新,我再也想不出任何(并且对上述示例进行了更正)。
是的,attr 适用于 html 属性,因为它们是严格定义的。 prop 用于属性。
例如,假设你有一个带有类"something"(原始元素而不是jQuery对象)的节点elem。 elem.className 是属性,但它是属性所在的位置。 更改类属性也会自动更改属性,反之亦然。
目前,attr 混乱且令人困惑,因为它已经尝试了这两个功能的工作,因此存在许多错误。 jQuery.fn.prop的引入将解决几个阻塞问题,从一开始就应该分开的代码,并为开发人员提供更快的函数来完成他们期望他们做的事情。
让我用一秒钟来弥补一个百分比,并说根据我在支持 IRC 和阅读其他人代码方面的经验,95% 的 attr 用例不必切换到 prop。
查看更多
- 分析高度属性时出现意外值{{specs.height}}.index.html
- 获取HTML属性中CSS声明的值
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- HTML范围:动态设置值属性
- 如何通过HTML+CSS中的另一个元素Selector更改元素的属性值
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 自定义HTML元素属性未显示-Web组件
- 如何在CSS或Javascript中定位选定的属性(在HTML选项中)
- 函数jquery.html()不提供数据属性集值
- Android在HTML容器中滚动,该容器具有CSS溢出属性
- 如何使用Undercore和Backbone在HTML中表示模型属性
- Regex剥离具有特定属性的html标记
- html5中数据描述属性中的html列表
- 不存在的属性HTML输入字段
- 应该为“容器”元素和“动画”元素分配什么位置属性?HTML CSS JavaScript.
- 动画高度属性::HTML+CSS+JavaScript
- 不能读取属性'HTML'的定义
- 基于类似屏幕的CSS媒体查询更改Javascript属性(HTML中的内联)
- 在 JointJS 中,我得到错误属性 html 在类型“类型形状”上不存在
- 覆盖默认属性'HTML的值"标签,这是由FB js库设置