Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> CSS

JavaScript में HTML एलिमेंट्स की तुलना: चरण-दर-चरण गाइड

JavaScript में HTML एलिमेंट्स की तुलना डायनामिक वेब एप्लिकेशन बनाते समय एक सामान्य आवश्यकता है। आपको यह जांचने की आवश्यकता हो सकती है कि क्या दो एलिमेंट्स का टैग नाम, क्लास, सामग्री, या अन्य प्रॉपर्टीज समान हैं। यह लेख JavaScript का उपयोग करके HTML एलिमेंट्स की तुलना करने के दो प्रभावी तरीकों का पता लगाता है।

विधि 1: मैनुअल एलिमेंट तुलना

मैनुअल तुलना आपको तुलना करने के लिए किन प्रॉपर्टीज पर पूर्ण नियंत्रण देती है। यह विधि सीधे टैग नाम, क्लास नाम, और सामग्री जैसे विशिष्ट विशेषताओं की जांच करती है।

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>मैनुअल HTML एलिमेंट्स तुलना</title>
<style>
.sample { padding: 10px; margin: 5px 0; background-color: #f0f0f0; border: 1px solid #ccc; }
.result { margin-top: 20px; padding: 10px; background-color: #e8f5e8; border-left: 4px solid #4CAF50; }
</style>
</head>
<body>
<div id="firstElement" class="sample">Hello World</div>
<div id="secondElement" class="sample">Hello World</div>
<div id="thirdElement" class="sample">TutorialsPoint</div>
<div id="output" class="result"></div>
<script>
function areElementsSame(elementA, elementB) {
  return elementA.tagName === elementB.tagName &&
         elementA.className === elementB.className &&
         elementA.innerText === elementB.innerText;
}
const firstElement = document.getElementById("firstElement");
const secondElement = document.getElementById("secondElement");
const thirdElement = document.getElementById("thirdElement");
const output = document.getElementById("output");
let results = [];
// पहला और दूसरा एलिमेंट तुलना करें
if (areElementsSame(firstElement, secondElement)) {
  results.push("✓ पहला और दूसरा एलिमेंट समान हैं");
} else {
  results.push("✗ पहला और दूसरा एलिमेंट भिन्न हैं");
}
// पहला और तीसरा एलिमेंट तुलना करें
if (areElementsSame(firstElement, thirdElement)) {
  results.push("✓ पहला और तीसरा एलिमेंट समान हैं");
} else {
  results.push("✗ पहला और तीसरा एलिमेंट भिन्न हैं");
}
output.innerHTML = results.join("<br>");
</script>
</body>
</html>
ग्रे बैकग्राउंड के साथ तीन डिव एलिमेंट्स प्रदर्शित होते हैं। नीचे, तुलना परिणाम दिखाते हैं:
✓ पहला और दूसरा एलिमेंट समान हैं
✗ पहला और तीसरा एलिमेंट भिन्न हैं

विधि 2: JSON-आधारित एलिमेंट तुलना

JSON तुलना आसान तुलना के लिए एलिमेंट प्रॉपर्टीज को स्ट्रिंग्स में सीरियलाइज़ करती है। यह दृष्टिकोण एक साथ कई विशेषताओं की तुलना करते समय कुशल होता है।

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>JSON-आधारित HTML एलिमेंट्स तुलना</title>
<style>
.content { padding: 15px; margin: 5px 0; background-color: #f9f9f9; border: 1px solid #ddd; border-radius: 4px; }
.result { margin-top: 20px; padding: 15px; background-color: #fff3cd; border: 1px solid #ffeaa7; border-radius: 4px; }
</style>
</head>
<body>
<div id="block1" class="content" data-value="test">Hello World</div>
<div id="block2" class="content" data-value="test">Hello World</div>
<div id="block3" class="content" data-value="different">TutorialsPoint</div>
<div id="output" class="result"></div>
<script>
function compareElementsByJSON(el1, el2) {
  const el1Props = {
    tagName: el1.tagName,
    className: el1.className,
    innerText: el1.innerText,
    dataset: el1.dataset
  };
  const el2Props = {
    tagName: el2.tagName,
    className: el2.className,
    innerText: el2.innerText,
    dataset: el2.dataset
  };
  return JSON.stringify(el1Props) === JSON.stringify(el2Props);
}
const block1 = document.getElementById("block1");
const block2 = document.getElementById("block2");
const block3 = document.getElementById("block3");
const output = document.getElementById("output");
let comparisons = [];
// ब्लॉक 1 और 2 की तुलना करें
if (compareElementsByJSON(block1, block2)) {
  comparisons.push("✓ ब्लॉक 1 और ब्लॉक 2 समान हैं");
} else {
  comparisons.push("✗ ब्लॉक 1 और ब्लॉक 2 भिन्न हैं");
}
// ब्लॉक 1 और 3 की तुलना करें
if (compareElementsByJSON(block1, block3)) {
  comparisons.push("✓ ब्लॉक 1 और ब्लॉक 3 समान हैं");
} else {
  comparisons.push("✗ ब्लॉक 1 और ब्लॉक 3 भिन्न हैं");
}
output.innerHTML = "<h4>JSON तुलना परिणाम:</h4>" + comparisons.join("<br>");
</script>
</body>
</html>
हल्के ग्रे बैकग्राउंड के साथ तीन डिव एलिमेंट्स प्रदर्शित होते हैं। नीचे, तुलना परिणाम दिखाते हैं:
JSON तुलना परिणाम:
✓ ब्लॉक 1 और ब्लॉक 2 समान हैं
✗ ब्लॉक 1 और ब्लॉक 3 भिन्न हैं

विधियों की तुलना

पहलूमैनुअल तुलनाJSON तुलना
नियंत्रणप्रॉपर्टीज पर पूर्ण नियंत्रणसभी परिभाषित प्रॉपर्टीज की तुलना करता है
प्रदर्शनकुछ प्रॉपर्टीज के लिए तेज़कई प्रॉपर्टीज के लिए कुशल
लचीलापनअत्यधिक अनुकूलन योग्यकम अनुकूलन योग्य
कोड जटिलताबुनियादी तुलना के लिए सरलजटिल तुलना के लिए क्लीनर

निष्कर्ष

दोनों विधियाँ JavaScript में HTML एलिमेंट्स की तुलना करने के प्रभावी तरीके प्रदान करती हैं। जब आपको विशिष्ट प्रॉपर्टीज पर सटीक नियंत्रण की आवश्यकता हो तो मैनुअल तुलना का उपयोग करें, और जब कई विशेषताओं को कुशलतापूर्वक संभालना हो तो JSON तुलना का उपयोग करें।

  1. RediSearch का उपयोग: शक्तिशाली Redis क्वेरीज़ के लिए उन्नत इंडेक्सिंग RediSearch का उपयोग: शक्तिशाली Redis क्वेरीज़ के लिए उन्नत इंडेक्सिंग

    Redis के पास सरल Strings से लेकर Redis Streams जैसे शक्तिशाली अमूर्तताओं तक डेटा संरचनाओं का एक बहुमुखी सेट है। नेटिव डेटा प्रकार आपको एक लंबा रास्ता तय कर सकते हैं, लेकिन कुछ उपयोग के मामले हैं जिनके लिए वर्कअराउंड की आवश्यकता हो सकती है। एक उदाहरण Redis में सेकेंडरी इंडेक्स का उपयोग करने की आवश्यक

  1. पायथन के माध्यम से 3D कलर्ड सरफेस कैसे प्राप्त करें? पायथन के माध्यम से 3D कलर्ड सरफेस कैसे प्राप्त करें?

    पायथन के माध्यम से 3D कलर्ड सरफेस प्राप्त करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: चरण फिगर साइज़ सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग एडजस्ट करें। नम्पी का उपयोग करके x और y डेटा पॉइंट्स बनाएं। 3D डेटा प्राप्त करें, यानी z। एक नया फिगर बनाएं या मौजूदा फिगर सक्रिय करें। 3D एक्सेस प्र

  1. सिस्टम लोड में महारत हासिल करें: लोड औसत को कैसे पढ़ें और व्याख्या करें सिस्टम लोड में महारत हासिल करें: लोड औसत को कैसे पढ़ें और व्याख्या करें

    25 फरवरी 2024 को अपडेट किया गया उदाहरण स्क्रीनशॉट और पुराने लिंक अपडेट करने के लिए। अपने सिस्टम के लोड की निगरानी करना आपके ऐप को सुचारू रूप से चलाने के लिए आवश्यक है। AppSignal के होस्ट मेट्रिक्स आपके सिस्टम के लोड एवरेज में अंतर्दृष्टि प्रदान करते हैं, जो दिखाता है कि आपका सिस्टम कई समय सीमाओं मे