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

जावास्क्रिप्ट से हर बार पेज लोड होने पर टेक्स्ट हाइलाइट करें


परिचय

पेज लोड होने पर विशिष्ट शब्दों को हाइलाइट करने के लिए, टेक्स्ट को शब्दों में विभाजित करें, लक्ष्य शब्दों की जांच करें, और उन्हें स्टाइल्ड <span> एलिमेंट्स में लपेटें। यह क्लाइंट-साइड हाइलाइटिंग के लिए एक सरल दृष्टिकोण है।

उदाहरण

<!DOCTYPE html> <html lang="hi"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>टेक्स्ट हाइलाइट</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> <script src="https://code.jquery.com/jquery-1.12.4.js"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <style> .yellow { color: yellow; background: black; padding: 2px; } .blue { color: blue; font-weight: bold; } </style> </head> <body> <h1 id="pageLoads">मेरे पीले शब्द, आपके नीले शब्द</h1> <script> const element = document.getElementById('pageLoads'); const words = element.innerHTML.split(' '); for (let i = 0; i < words.length; i++) { if (words[i] === 'नीले') { words[i] = '<span class="blue">' + words[i] + '</span>'; } if (words[i] === 'पीले') { words[i] = '<span class="yellow">' + words[i] + '</span>'; } } element.innerHTML = words.join(' '); </script> </body> </html>

आउटपुट

जावास्क्रिप्ट से हर बार पेज लोड होने पर टेक्स्ट हाइलाइट करें

चलाने के निर्देश

उपरोक्त प्रोग्राम को चलाने के लिए, फ़ाइल का नाम anyName.html (index.html) सेव करें और फ़ाइल पर राइट-क्लिक करके VS कोड एडिटर में "Open with Live Server" विकल्प चुनें।

सुधारित दृष्टिकोण (टेक्स्ट नोड्स सुरक्षित)

function highlightWords(element, wordsToHighlight, className) {
  const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT);
  const textNodes = [];
  while (walker.nextNode()) textNodes.push(walker.currentNode);

  textNodes.forEach(node => {
    let text = node.textContent;
    wordsToHighlight.forEach(word => {
      const regex = new RegExp(`(\\b${word}\\b)`, 'gi');
      text = text.replace(regex, `<span class="${className}">$1</span>`);
    });
    if (text !== node.textContent) {
      const span = document.createElement('span');
      span.innerHTML = text;
      node.parentNode.replaceChild(span, node);
    }
  });
}

// उपयोग
highlightWords(document.body, ['पीले', 'नीले'], 'highlight');

यह दृष्टिकोण HTML टैग्स को नहीं तोड़ता और केस-इनसेंसिटिव है।

  1. जावास्क्रिप्ट से वेब पेज पर एलिमेंट टैग के अंदर नहीं होने वाले टेक्स्ट को हटाना जावास्क्रिप्ट से वेब पेज पर एलिमेंट टैग के अंदर नहीं होने वाले टेक्स्ट को हटाना

    टेक्स्ट हटाने के लिए, remove() की अवधारणा का उपयोग करें। एलिमेंट टैग के अंदर नहीं होने वाले कंटेंट को प्राप्त करने के लिए फिल्टर का उपयोग करें।मान लीजिए निम्नलिखित हमारा HTML है -Demo Program This is also Demo Programऔर हमें This is also Demo Program हटाना है क्योंकि यह एलिमेंट टैग के तहत नहीं है। इ

  1. क्या JavaScript से टेक्स्ट बॉक्स को सेलेक्ट करना संभव है? क्या JavaScript से टेक्स्ट बॉक्स को सेलेक्ट करना संभव है?

    हां, JavaScript में select() मेथड का उपयोग करके टेक्स्ट बॉक्स (इनपुट फ़ील्ड) का टेक्स्ट प्रोग्रामेटिकली सेलेक्ट कर सकते हैं। बुनियादी उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8> <meta name=viewport content=width=device-width, initial-scale=1.

  1. JavaScript से <strong> टैग में टेक्स्ट कैसे सेट करें? JavaScript से <strong> टैग में टेक्स्ट कैसे सेट करें?

    उदाहरण सबसे पहले <strong> एलिमेंट सेट करें: <strong id=strongDemo>Replace This strong tag</strong> आईडी का उपयोग करके jQuery से टेक्स्ट सेट करें: $(document).ready(function(){ $(#strongDemo).html(Actual value of 5+10 is 15.....); }); पूरा HTML कोड: <!DOCTYPE html> <