removeNamedItem() मेथड क्या है?
HTML DOM removeNamedItem() मेथड किसी तत्व की विशेषता सूची (NamedNodeMap) से नाम द्वारा एक विशेषता नोड को हटाता है। यह element.removeAttribute() के समान है लेकिन attributes कलेक्शन पर काम करता है और हटाए गए Attr नोड को लौटाता है।
सिंटैक्स
element.attributes.removeNamedItem(name)
पैरामीटर
name: हटाने के लिए विशेषता का नाम (स्ट्रिंग)।
रिटर्न मान
हटाया गया विशेषता नोड (Attr ऑब्जेक्ट)।
उदाहरण
यह उदाहरण attributes.removeNamedItem() का उपयोग करके एक पैराग्राफ से स्टाइल विशेषता हटाता है:
<!DOCTYPE html>
<html>
<head>
<style>
html { height: 100%; }
body {
text-align: center;
color: #fff;
background: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%) center/cover no-repeat;
height: 100%;
}
.btn {
background: #0197F6;
border: none;
height: 2rem;
border-radius: 2px;
width: 60%;
margin: 2rem auto;
display: block;
color: #fff;
outline: none;
cursor: pointer;
}
</style>
</head>
<body>
<h1>DOM removeNamedItem() मेथड डेमो</h1>
<p style="color: #db133a; font-size: 1.2rem;">नमस्ते! मैं HTML में कुछ रैंडम टेक्स्ट वाला एक पैरा तत्व हूँ।</p>
<button onclick="removeAttr()" class="btn">removeNamedItem() से विशेषता हटाएं</button>
<script>
function removeAttr() {
var p = document.querySelector("p");
var removed = p.attributes.removeNamedItem("style");
console.log("हटाई गई विशेषता:", removed.name, "=", removed.value);
}
</script>
</body>
</html>
आउटपुट
प्रारंभ में पैराग्राफ लाल रंग का और बड़ा होता है। बटन पर क्लिक करने पर, स्टाइल विशेषता हटा दी जाती है और पैराग्राफ डिफ़ॉल्ट स्टाइलिंग में वापस आ जाता है।
removeNamedItem() बनाम removeAttribute() बनाम removeAttributeNode()
| मेथड | कहाँ कॉल करें | पैरामीटर | रिटर्न |
|---|---|---|---|
removeAttribute(name) |
तत्व पर | स्ट्रिंग नाम | undefined |
removeAttributeNode(attrNode) |
तत्व पर | Attr नोड | हटाया गया Attr नोड |
attributes.removeNamedItem(name) |
attributes कलेक्शन पर | स्ट्रिंग नाम | हटाया गया Attr नोड |
कब उपयोग करें
- जब आप पहले से ही
attributesNamedNodeMap के साथ काम कर रहे हों। - जब आपको हटाए गए
Attrनोड तक पहुंच की आवश्यकता हो (इसका मान, नाम, आदि)। - नेमस्पेस वाली विशेषताओं के लिए
removeNamedItemNS(namespace, localName)का उपयोग करें।
त्रुटि संचालन
यदि विशेषता मौजूद नहीं है, तो एक DOMException (NotFoundError) फेंका जाता है। सुरक्षित उपयोग के लिए:
if (element.hasAttribute("style")) {
element.attributes.removeNamedItem("style");
}
// या try-catch:
try {
element.attributes.removeNamedItem("style");
} catch (e) {
// विशेषता नहीं मिली
}