1. Overview
Attribute and property are two concepts that are often confused.
To put it simply, property is accessed in JS code:
document.getElementByTagName('my-element').prop1 = 'hello';
attribute is similar This kind:
The way to access attribute in JS code is getAttribute and setAttribute:
document.getElementByTagName( 'my-element').setAttribute('attr1','Hello');
document.getElementByTagName('my-element').getAttribute('attr1','Hello');
2. Differences
In most cases, the two are equivalent. In web standards, it is often stipulated that an attribute "reflects" a property with the same name. But there are still many exceptions.
1. Inconsistent names
The most typical one is className. In order to avoid JavaScript reserved words, the property corresponding to the class attribute in JS is className.
<script></script>
var div = document.getElementByTagName('div');
div.className //cls1 cls2
2. Inconsistent types
The most typical one is style, which does not accept strings type assignment.
<script></script>
var div = document. getElementByTagName('div');
div.style // Object
3. Inconsistent semantics
such as a element href attribute.
<script></script>
var a = document.getElementByTagName( 'a');
a.href // "http://m.taobao.com", this url is the resolved result
a.getAttribute('href') / / "//m.taobao.com", exactly the same as in the HTML code
4. One-way synchronization relationship
value is an extremely Special attribute/property.
<script></script>
var input = document.getElementByTagName('input');
//If the property is not set, the result is attribute
input.value //cute
input.getAttribute('value'); //cute
input.value = 'hello';
//If the value attribute has been set, the attribute remains unchanged and the property changes. The actual effect on the element is that property takes precedence
input. value //hello
input.getAttribute('value'); //cute
In addition, the display status of the checkbox is checked and indeterminate are determined by two properties, and there is only one property named checked. In this case, the property is a more complete access model.
3. Special Scenarios
1.mutation
Using mutation observer, only attribute changes can be monitored.
var observer = new MutationObserver(function(mutations){
for(var i = 0; i
var mutation = mutations [i];
console.log(mutation.attributeName);
}
});
observer.observe(element,{attributes: true});
element.prop1 = 'aa' // Will not trigger
element.setAttribute('attr1', 'aa') // Will trigger
2.custom element
When using WebComponents, you can define attributes and properties. The two can reflect each other or have no correlation at all.
var MyElementProto = Object.create(HTMLElement.prototype, {
createdCallback : {
value : function() { }
}
});
//Define property
Object.defineProperty(MyElementProto,'prop1', {
get:function() {
return //
},
set:function(){
console.log('property change');//do something
}
});
//Define attribute
MyElementProto.attributeChangedCallback = function(attr, oldVal, newVal) {
if(attr === 'attr1') {
console.log('attribute change');//do something
}
};
window.MyElement = document.registerElement('my-element', {
prototype: MyElementProto
});

The future of HTML will develop in a more semantic, functional and modular direction. 1) Semanticization will make the tag describe the content more clearly, improving SEO and barrier-free access. 2) Functionalization will introduce new elements and attributes to meet user needs. 3) Modularity will support component development and improve code reusability.

HTMLattributesarecrucialinwebdevelopmentforcontrollingbehavior,appearance,andfunctionality.Theyenhanceinteractivity,accessibility,andSEO.Forexample,thesrcattributeintagsimpactsSEO,whileonclickintagsaddsinteractivity.Touseattributeseffectively:1)Usese

The alt attribute is an important part of the tag in HTML and is used to provide alternative text for images. 1. When the image cannot be loaded, the text in the alt attribute will be displayed to improve the user experience. 2. Screen readers use the alt attribute to help visually impaired users understand the content of the picture. 3. Search engines index text in the alt attribute to improve the SEO ranking of web pages.

The roles of HTML, CSS and JavaScript in web development are: 1. HTML is used to build web page structure; 2. CSS is used to beautify the appearance of web pages; 3. JavaScript is used to achieve dynamic interaction. Through tags, styles and scripts, these three together build the core functions of modern web pages.

Setting the lang attributes of a tag is a key step in optimizing web accessibility and SEO. 1) Set the lang attribute in the tag, such as. 2) In multilingual content, set lang attributes for different language parts, such as. 3) Use language codes that comply with ISO639-1 standards, such as "en", "fr", "zh", etc. Correctly setting the lang attribute can improve the accessibility of web pages and search engine rankings.

HTMLattributesareessentialforenhancingwebelements'functionalityandappearance.Theyaddinformationtodefinebehavior,appearance,andinteraction,makingwebsitesinteractive,responsive,andvisuallyappealing.Attributeslikesrc,href,class,type,anddisabledtransform

TocreatealistinHTML,useforunorderedlistsandfororderedlists:1)Forunorderedlists,wrapitemsinanduseforeachitem,renderingasabulletedlist.2)Fororderedlists,useandfornumberedlists,customizablewiththetypeattributefordifferentnumberingstyles.

HTML is used to build websites with clear structure. 1) Use tags such as, and define the website structure. 2) Examples show the structure of blogs and e-commerce websites. 3) Avoid common mistakes such as incorrect label nesting. 4) Optimize performance by reducing HTTP requests and using semantic tags.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver CS6
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
