क्या मैं निम्नलिखित की तरह एक HTML टैग में एक कस्टम विशेषता जोड़ सकता हूं?
<tag myAttri="myVal" />
क्या मैं निम्नलिखित की तरह एक HTML टैग में एक कस्टम विशेषता जोड़ सकता हूं?
<tag myAttri="myVal" />
जवाबों:
आप इसे अनुमति देने के लिए अपने DOCTYPE घोषणा (यानी DTD) में संशोधन कर सकते हैं, ताकि [XML] दस्तावेज़ की आवश्यकता हो:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
[
<!ATTLIST tag myAttri CDATA #IMPLIED>
]>
#IMPLIED
इसका मतलब यह एक वैकल्पिक विशेषता है, या आप उपयोग कर सकते हैं #REQUIRED
, आदि।
अधिक जानकारी DTD - विशेषताओं में है ।
<meta http-equiv="content-type" content="application/xhtml+xml" />
।
data-
।
आप अपनी इच्छानुसार अपने तत्वों में कस्टम विशेषताएँ जोड़ सकते हैं। लेकिन यह आपके दस्तावेज़ को अमान्य बना देगा।
HTML 5 में आपके पास उपसर्ग के साथ कस्टम डेटा विशेषताओंdata-
का उपयोग करने का अवसर होगा ।
|
एक सीएसएस में अनुमति नहीं है href
, लेकिन यही Google फ़ॉन्ट्स के लिए आवश्यक है
नहीं, इससे सत्यापन टूट जाएगा।
HTML 5 में आप कस्टम विशेषताएँ जोड़ सकते हैं / कर सकते हैं। कुछ इस तरह:
<tag data-myAttri="myVal" />
JQuery data()
फ़ंक्शन आपको DOM तत्वों के साथ मनमाने डेटा को संबद्ध करने की अनुमति देता है। यहाँ एक उदाहरण है ।
HTML5 में: हाँ: डेटा का उपयोग करें- विशेषता ।
<ul>
<li data-animal-type="bird">Owl</li>
<li data-animal-type="fish">Salmon</li>
<li data-animal-type="spider">Tarantula</li>
</ul>
हाँ, आप कर सकते हैं, आपने प्रश्न में ही किया है <html myAttri="myVal"/>
:।
var demo = document.getElementById("demo")
console.log(demo.dataset.myvar)
// or
alert(demo.dataset.myvar)
//this will show in console the value of myvar
<div id="demo" data-myvar="foo">anything</div>
हां तुम यह कर सकते हो!
अगला HTML
टैग होने :
<tag key="value"/>
हम उनकी विशेषताओं तक पहुँच सकते हैं JavaScript
:
element.getAttribute('key'); // Getter
element.setAttribute('key', 'value'); // Setter
Element.setAttribute()
HTML
मौजूद नहीं होने पर विशेषता को टैग में डालें। इसलिए, HTML
यदि आप इसे साथ सेट करने जा रहे हैं, तो आपको इसे कोड में घोषित करने की आवश्यकता नहीं है JavaScript
।
key
: कोई भी नाम हो सकता है जिसे आप विशेषता के लिए चाहते हैं, जबकि वर्तमान टैग के लिए पहले से ही इसका उपयोग नहीं किया गया है।
value
: यह हमेशा एक स्ट्रिंग है जिसमें आपको आवश्यकता होती है।
यहाँ उदाहरण है:
document.getElementsByTagName("html").foo="bar"
यहाँ एक और उदाहरण है कि कैसे बॉडी टैग तत्व में कस्टम विशेषताएँ सेट करें:
document.getElementsByTagName('body')[0].dataset.attr1 = "foo";
document.getElementsByTagName('body')[0].dataset.attr2 = "bar";
फिर इसके द्वारा विशेषता पढ़ें:
attr1 = document.getElementsByTagName('body')[0].dataset.attr1
attr2 = document.getElementsByTagName('body')[0].dataset.attr2
आप DevTools में कॉनसोल में कोड से ऊपर का परीक्षण कर सकते हैं , जैसे
डेटा-किसी का उपयोग करें, मैं उन्हें बहुत उपयोग करता हूं
<aside data-area="asidetop" data-type="responsive" class="top">
data-*
जावास्क्रिप्ट से मान कैसे मिलेगा ?
एक अन्य दृष्टिकोण, जो साफ है और दस्तावेज को मान्य रखेगा, वह डेटा है जिसे आप किसी अन्य टैग उदा आईडी में चाहते हैं, तब विभाजन का उपयोग करें।
<html>
<script>
function demonstrate(){
var x = document.getElementById("example data").querySelectorAll("input");
console.log(x);
for(i=0;i<x.length;i++){
var line_to_illustrate = x[i].id + ":" + document.getElementById ( x[i].id ).value;
//concatenated values
console.log("this is all together: " + line_to_illustrate);
//split values
var split_line_to_illustrate = line_to_illustrate.split(":");
for(j=0;j<split_line_to_illustrate.length;j++){
console.log("item " + j+ " is: " + split_line_to_illustrate[j]);
}
}
}
</script>
<body>
<div id="example data">
<!-- consider the id values representing a 'from-to' relationship -->
<input id="1:2" type="number" name="quantity" min="0" max="9" value="2">
<input id="1:4" type="number" name="quantity" min="0" max="9" value="1">
<input id="3:6" type="number" name="quantity" min="0" max="9" value="5">
</div>
<input type="button" name="" id="?" value="show me" onclick="demonstrate()"/>
</body>
</html>
आप जोड़ सकते हैं, लेकिन फिर आपको जावास्क्रिप्ट कोड की एक पंक्ति भी लिखनी होगी,
document.createElement('tag');
यह सुनिश्चित करने के लिए कि सब कुछ ठीक हो जाए। मेरा मतलब है इंटरनेट एक्सप्लोरर :)
<tag ...>
यहाँ स्पष्ट रूप से किसी भी HTML टैग का मतलब है।
कुंआ! आप वास्तव में कस्टम एचटीएमएल विशेषताओं का एक गुच्छा बना सकते हैं, जो वास्तव में आप चाहते हैं कि डेटा विशेषताओं को छिपाने के द्वारा।
जैसे।
[attribute='value']{
color:red;
}
<span attribute="value" >hello world</span>
यह स्पष्ट रूप से काम करता है, लेकिन यह आपके दस्तावेज़ को अमान्य कर देगा, आपके लिए कस्टम विशेषताओं या यहां तक कि तत्वों के लिए JScript का उपयोग करने की कोई आवश्यकता नहीं है जब तक कि आपके पास नहीं है, आपको बस अपने नए तैयार किए गए (कस्टम) विशेषताओं का इलाज करने की आवश्यकता है उसी तरह जब आप अपना इलाज करते हैं "डेटा" विशेषता
याद रखें "अमान्य" का कोई मतलब नहीं है। दस्तावेज़ हर समय ठीक लोड होगा। और कुछ ब्राउज़र वास्तव में केवल DOCTYPE की उपस्थिति से आपके दस्तावेज़ को सत्यापित करेंगे ....., आपको वास्तव में पता है कि मेरा क्या मतलब है।
आप एक विशेषता के बजाय जावास्क्रिप्ट से इच्छित मान निकालने के लिए ऐसा कुछ कर सकते हैं:
<a href='#' class='click'>
<span style='display:none;'>value for JavaScript</span>some text
</a>
<input type="hidden" value="...">
। हालाँकि, एक छिपे हुए क्षेत्र में आपके द्वारा डाले जा सकने वाले डेटा के विपरीत विभिन्न विशेषताओं में आपके द्वारा डाले गए डेटा के प्रकार के बीच का अंतर। मेटाडेटा का एक टुकड़ा बनाए रखने के लिए <span>
(सभी चीजों का) छिपाना एक <a>
अच्छा कदम नहीं है। यह आपकी साइट के लिए अजीब होगा और बहुत जेएस (सुंदर गिरावट, लोगों) पर निर्भर करेगा।