美文网首页
attribute和property的区别

attribute和property的区别

作者: 简单tao的简单 | 来源:发表于2023-12-25 10:32 被阅读0次

在 JavaScript 中,当我们提到 HTML 元素的 attribute 和 property 时,这两个词并不完全相同,它们之间的区别主要体现在以下几个方面:

  1. Attribute 是 HTML 元素在源代码中定义的特性,它的值只能是字符串。例如,在 HTML 源码中,我们可能会这样定义一个 input 元素:
<input type="text" value="Hello">

在这个例子中,type 和 value 就是这个 input 元素的 attribute。

  1. Property 则是 DOM 中的对象属性。当浏览器解析 HTML 代码,创建 DOM(文档对象模型)时,每一个 HTML 元素都会被转化为一个对象,这个对象的属性就是 property。Property 的值可以是任何 JavaScript 类型。

在上述例子中,当浏览器解析这个 input 元素,会创建一个对应的 Input 对象,这个对象有一个 value 的 property,最初它的值会被设置为 “Hello”。

这两者之间的一个主要区别是,attribute 的值在 HTML 代码加载后就不会再改变,而 property 的值会随着用户的交互、JavaScript 的操作而改变。
例如,当用户在 input 框中输入新的内容时,value property 的值会改变,但 value attribute 的值仍然是 “Hello”。

用户没有输入内容时,都是'Hello'

<body>
    <input type="text" value="Hello">
    <button id="btn">查看</button>
<script>
    let input = document.querySelector('input');
    console.log(input.getAttribute('value')); // 输出 "Hello"
    console.log(input.value); // 输出 "Hello"
</script>

用户输入其他内容时,value property 的值会改变,但 value attribute 的值仍然是 “Hello”。

<body>
    <input type="text" value="Hello">
    <button id="btn">查看</button>
<script>
    let input = document.querySelector('input');
    console.log(input.getAttribute('value')); // 输出 "Hello"
    console.log(input.value); // 输出 "Hello"

    let btn = document.querySelector('button');
    btn.addEventListener('click',()=>{
        console.log(input.getAttribute('value'));   //Hello
        console.log(input.value);  //简书
    },false)
</script>
image.png

在这个例子中,getAttribute('value') 返回的是 attribute 的值,而 .value 返回的是 property 的值

相关文章

  • JavaScript 常见面试题分析(三)

    01 property 和 attribute 的区别 property 修改对象属性,不会体现到 HTML 结构...

  • Attribute和Property的区别

    1. Attribute和Property的概念 attribute : 特性,XML 元素中的概念,用于描述 X...

  • property和attribute的区别

    property 和 attribute非常容易混淆,两个单词的中文翻译也都非常相近(property:属性,at...

  • attribute和property的区别

    看到别的文章 要么格式乱 要么没读懂这篇文章个人感觉恰到好处 第一个问题: 什么是 attribute & 什么是...

  • property和attribute

    property和attribute 两种有何区别? property指的是 dom 本身内置的属性,比如tagN...

  • property&attribute

    2017年4月6日DOM 中 Property 和 Attribute 的区别转载:博客园property 和 a...

  • attr与prop

    attr和prop分别是单词attribute和property的缩写(property:属性,attribute...

  • web小结

    DOM操作部分 DOM的数据结构是一种树 attribute和property的区别 节点的property 节点...

  • HTML property 和 attribute 的区别

    前端编程里,property 和 attribute 是一对极容易混淆的术语。 Angular 的属性绑定语法: ...

  • 2.Attribute 和 property区别

    DOM元素的特性(Attribute)和属性(Property)1.property 只是一个js对象的属性的修改...

网友评论

      本文标题:attribute和property的区别

      本文链接:https://www.haomeiwen.com/subject/rrhkndtx.html