0Pricing
Browser Extensions Development (Chrome & Edge) · Lektion

DOM von Webseiten verändern

Bearbeiten Sie das Document Object Model (DOM) von Webseiten, indem Sie Elemente und ihre Attribute hinzufügen, entfernen oder ändern.

DOM von Webseiten verändern ist eine kostenlose Browser Extensions Development (Chrome & Edge)-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Browser Extensions Development (Chrome & Edge)-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Browser Extensions Development (Chrome & Edge)-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

Intro to DOM Modification

Welcome to modifying web page content! This lesson teaches you how to change what users see on a website using your extension.

We'll dive into the Document Object Model (DOM), which is like a tree structure representing all the elements on a web page. Your extension's content scripts can interact with this tree.

Finding Elements on a Page

Before you can change an element, you need to find it! JavaScript provides several ways to select elements from the DOM.

  • document.querySelector(): Finds the first element matching a CSS selector.
  • document.querySelectorAll(): Finds all elements matching a CSS selector.
  • document.getElementById(): Finds an element by its unique ID.

These are your primary tools for targeting specific parts of a web page.

Accessing Elements: Demo

Let's see how to grab an element. Imagine a web page has a paragraph with the ID 'myParagraph' and several other paragraphs.

Try running this code:

// This code would run in your content script.
// It assumes a page with a <p id="myParagraph"> and other <p> tags.

const specificParagraph = document.getElementById('myParagraph');
const allParagraphs = document.querySelectorAll('p');

if (specificParagraph) {
  console.log('Found specific paragraph:', specificParagraph.textContent);
}

console.log('Total paragraphs on page:', allParagraphs.length);

// For demonstration, we'll change a dummy element if it exists.
// In a real scenario, this would modify the live page.
const dummyDiv = document.createElement('div');
dummyDiv.id = 'coddykit-output';
document.body.append(dummyDiv);

if (specificParagraph) {
  dummyDiv.textContent = `Found by ID: ${specificParagraph.textContent}. Total Ps: ${allParagraphs.length}`;
} else {
  dummyDiv.textContent = `No #myParagraph found. Total Ps: ${allParagraphs.length}`;
}

Updating Text Content

Once you have an element, changing its text is straightforward. You can use the textContent property.

textContent sets or returns the text content of the specified node and all its descendants. It's generally preferred over innerText for performance and security.

Changing Text: Demo

Let's update the text of the first heading on a page. This is a common task for extensions that want to add information or warnings.

What do you think this will do to the page's main heading?

// This code would run in your content script.
// It assumes the page has at least one <h1> element.

const mainHeading = document.querySelector('h1');

if (mainHeading) {
  mainHeading.textContent = '🥳 This Heading Was Modified by CoddyKit!';
  mainHeading.style.color = 'blue'; // Add some style for visibility
} else {
  // If no h1, create one to show the effect
  const newHeading = document.createElement('h1');
  newHeading.textContent = '🥳 New Heading from CoddyKit!';
  newHeading.style.color = 'blue';
  document.body.prepend(newHeading);
}

Altering Element Attributes

Elements often have attributes like src for images, href for links, or class for styling. You can change these too!

  • element.setAttribute(name, value): Adds or updates an attribute.
  • element.removeAttribute(name): Removes an attribute.
  • element.classList.add(className): Adds a CSS class.
  • element.classList.remove(className): Removes a CSS class.

Attributes & Classes: Demo

Let's change an image's source and add a class to a paragraph. Imagine you want to replace a placeholder image or highlight certain text.

Try running this example:

// This code would run in your content script.
// It assumes a page has an <img> and a <p> element.

const firstImage = document.querySelector('img');
const firstParagraph = document.querySelector('p');

if (firstImage) {
  firstImage.setAttribute('src', 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png');
  firstImage.setAttribute('alt', 'CoddyKit Replaced Image');
  firstImage.style.border = '2px solid green'; // Make changes visible
}

if (firstParagraph) {
  firstParagraph.classList.add('coddykit-highlight');
  // Add some inline style for the added class for visibility
  firstParagraph.style.backgroundColor = '#ffff0050'; // Light yellow tint
  firstParagraph.style.padding = '5px';
  firstParagraph.textContent += ' (Highlighted by CoddyKit!)';
} else {
  const newP = document.createElement('p');
  newP.textContent = 'This is a new paragraph with a highlight!';
  newP.classList.add('coddykit-highlight');
  newP.style.backgroundColor = '#ffff0050';
  newP.style.padding = '5px';
  document.body.append(newP);
}

Creating & Adding New Elements

Extensions can also inject entirely new content into a page! This is how you might add custom buttons, sidebars, or notifications.

  • document.createElement(tagName): Creates a new element node.
  • parentNode.appendChild(childNode): Adds a node as the last child of a parent.
  • parentNode.prepend(childNode): Adds a node as the first child of a parent.
  • parentNode.insertBefore(newNode, referenceNode): Inserts a node before a reference node.

Injecting Elements: Demo

Let's create a new div element and add it to the very top of the web page's body.

This demonstrates how an extension can seamlessly integrate new UI elements.

// This code would run in your content script.

const newDiv = document.createElement('div');
newDiv.textContent = '👋 Hello from your CoddyKit Extension!';
newDiv.style.backgroundColor = '#ADD8E6'; // Light blue background
newDiv.style.padding = '10px';
newDiv.style.textAlign = 'center';
newDiv.style.borderBottom = '1px solid #87CEEB';
newDiv.style.position = 'sticky';
newDiv.style.top = '0';
newDiv.style.width = '100%';
newDiv.style.zIndex = '9999';

document.body.prepend(newDiv); // Add to the top of the body

// You can also remove elements:
// const elementToRemove = document.querySelector('.some-ad-class');
// if (elementToRemove) {
//   elementToRemove.remove();
// }

Quick Check: DOM Actions

Which of the following JavaScript methods can be used to add, remove, or modify elements on a web page?

Recap: Modifying Web Pages

Great job! You've learned the core techniques for interacting with and modifying a web page's structure and content using content scripts.

  • You can find elements using querySelector, querySelectorAll, and getElementById.
  • You can change text with textContent.
  • You can alter attributes and classes with setAttribute, removeAttribute, classList.add, and classList.remove.
  • You can create and inject new elements using createElement and methods like appendChild or prepend.
  • You can remove elements with element.remove().

These powerful tools allow your extension to truly customize the user's browsing experience. Next, we'll explore how to interact with the data on these pages!

Häufig gestellte Fragen

Ist die Lektion „DOM von Webseiten verändern“ kostenlos?

Ja — der vollständige Text von „DOM von Webseiten verändern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Browser Extensions Development (Chrome & Edge)-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Browser Extensions Development (Chrome & Edge)-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „DOM von Webseiten verändern“?

Bearbeiten Sie das Document Object Model (DOM) von Webseiten, indem Sie Elemente und ihre Attribute hinzufügen, entfernen oder ändern. Du übst Browser Extensions Development (Chrome & Edge) mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Browser Extensions Development (Chrome & Edge) zu starten?

Keine Vorkenntnisse erforderlich. Browser Extensions Development (Chrome & Edge) auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „DOM von Webseiten verändern“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Browser Extensions Development (Chrome & Edge)-Lektion Code schreiben und ausführen?

Ja. Jede Browser Extensions Development (Chrome & Edge)-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Content-Skripte injizieren
  2. DOM von Webseiten verändern
  3. Mit Webseitendaten interagieren
  4. CSS injizieren und isolierte Styles
← Zurück zu Browser Extensions Development (Chrome & Edge)