当前位置: 首页 > 面试题库 >

HTML中的属性和属性有什么区别?

梁丘逸仙
2023-03-14
问题内容

在jQuery 1.6.1中进行更改之后,我一直在尝试定义HTML中属性和属性之间的差异。

查看jQuery1.6.1发行说明中的列表(在底部附近),似乎可以对HTML属性和属性进行如下分类:

  • 属性:所有具有布尔值或UA计算得出的值,例如selectedIndex。

  • 属性:可以添加到既不是布尔也不包含UA生成值的HTML元素中的“属性”。

有什么想法吗?


问题答案:

在编写HTML源代码时,可以在HTML元素上定义_属性_。然后,一旦浏览器解析了您的代码,就会创建一个相应的DOM节点。该节点是一个对象,因此具有_属性_ 。

例如,此HTML元素:

<input type="text" value="Name:">

有2个属性(typevalue)。

浏览器解析此代码后,将创建一个HTMLInputElement对象,该对象将包含许多属性,例如:accept,accessKey,align,alt,attribute,autofocus,baseURI,checked,childElementCount,childNodes,childNodes,classList,className,
clientHeight等

对于给定的DOM节点对象,属性是该对象的属性,属性是该对象的属性的元素attributes

当为给定的HTML元素创建DOM节点时,其许多属性都与具有相同或相似名称的属性相关,但这不是一对一的关系。例如,对于此HTML元素:

<input id="the-input" type="text" value="Name:">

相应的DOM节点将具有idtypevalue属性(以及其他属性):

  • id属性是一个 反射属性id属性:获取属性读取的属性值,并且设置属性写入的属性值。id是一个 反射属性,它不会修改或限制该值。

  • type属性是一个 反射属性_的type属性:获取属性读取的属性值,并且设置属性写入的属性值。type不是纯反射属性,因为它仅限于 _已知值(例如,输入的有效类型)。如果你有<inputtype="foo">,那么theInput.getAttribute("type")给你"foo"theInput.type给你"text"

  • 相反,该value属性不能反映该value属性。相反,它是输入的_当前值_。当用户手动更改输入框的值时,该value属性将反映此更改。因此,如果用户"John"在输入框中输入内容,则:

    theInput.value // returns "John"
    

而:

    theInput.getAttribute('value') // returns "Name:"

value属性反映输入框内的 当前 文本内容,而该value属性包含HTML源代码中属性的 初始 文本内容value

因此,如果您想知道文本框中当前包含的内容,请阅读属性。但是,如果您想知道文本框的初始值是什么,请阅读属性。或者,您可以使用defaultValue属性,它是对value属性的纯粹反映:

    theInput.value                 // returns "John"
theInput.getAttribute('value') // returns "Name:"
theInput.defaultValue          // returns "Name:"

有几个属性,可直接反映他们的属性(relid),有些是用稍微不同的名称直接反射(htmlFor反映for属性,className体现了class属性),许多反映他们的属性,但有限制/修改(srchrefdisabledmultiple)等上。



 类似资料:
  • 问题内容: 在jQuery 1.6.1中进行更改之后,我一直在尝试定义HTML中属性和属性之间的差异。 查看jQuery1.6.1发行说明中的列表(在底部附近),似乎可以对HTML属性和属性进行如下分类: 属性:所有具有布尔值或UA计算得出的值,例如selectedIndex。 属性:可以添加到既不是布尔也不包含UA生成值的HTML元素中的“属性”。 有什么想法吗? 问题答案: 在编写HTML源代

  • 问题内容: 使用Angular Material时,我一直看到aria属性。有人可以向我解释,aria前缀是什么意思?但最重要的是,我想了解的是和属性之间的区别。 问题答案: ARIA(可访问的富Internet应用程序)定义了一种使残障人士更容易访问Web内容和Web应用程序的方法。 该属性是HTML5中的新增属性,它告诉 浏览器 不要显示该元素。该属性告诉 屏幕阅读器 是否应该忽略该元素。请查

  • 问题内容: 对于“属性”和“属性”之间的区别,我通常感到困惑,并且找不到很好的资源来简洁地详细说明这些区别。 问题答案: 属性是一种特殊的属性。基本上,当Python遇到以下代码时: 它查找中,然后检查,看它是否有一个,或方法- 如果这样做,这是一个性质。如果它 是 一个属性,则不仅会返回该对象(就像对其他任何属性一样),还会调用该方法(因为我们一直在进行查找),并返回该方法返回的内容。 有关Py

  • 问题内容: angularjs模板中的和属性之间有什么区别?如果我在使用value属性的字段上使用它,则它正常工作,但是如果我将该属性更改为它,它将停止工作。 问题答案: 根据 文档 ,采用 “角表达式,其值将绑定到 元素的属性”。 因此,当您使用时,它将被解释为一个表达式,并且被绑定到(可能是)。 对于评估表达式很有用- 与设置硬编码值相比没有优势。但是,如果您想使用硬编码值,则必须将其包含在:

  • 问题内容: 可以在这里找到代码: 我发现有内标记,也有内标签。它们都是必需的吗?(在这种情况下,CSS似乎覆盖了HTML属性)关于它们之间的区别是否有任何解释? 问题答案: 我检查了文档,但是它们并不清楚如果同时设置了它们。 那藏在这里的某个地方: UA可以选择使用HTML源文档中的表示属性。如果是这样,则将这些属性转换为对应的CSS规则,其特异性等于0,并且将其视为在作者样式表的开头插入。因此,

  • 问题内容: HTML 元素可以具有 width / height 属性,还可以具有CSS width / height 属性: HTML属性和CSS属性之间有什么区别,它们应具有相同的效果吗? 问题答案: 可以在此处找到有关该主题的热门讨论:图像标签和CSS的Width属性 把它们加起来: 声明宽度值和高度值(可能不是图像的原始物理尺寸)或css声明(例如width:[valueX]; heigh