<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DOM Manipulation on AI VOID</title><link>https://ai-blog.noorshomelab.dev/tags/dom-manipulation/</link><description>Recent content in DOM Manipulation on AI VOID</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 05 Dec 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-blog.noorshomelab.dev/tags/dom-manipulation/index.xml" rel="self" type="application/rss+xml"/><item><title>Chapter 3: Your First Scoped Transition: `element.startViewTransition()`</title><link>https://ai-blog.noorshomelab.dev/scoped-view-transitions-2025/chapter-3-first-scoped-transition/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/scoped-view-transitions-2025/chapter-3-first-scoped-transition/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Welcome back, future web animation wizard! In our previous chapters, you dipped your toes into the exciting world of the View Transition API, likely starting with &lt;code&gt;document.startViewTransition()&lt;/code&gt; to create smooth, page-wide animations. That&amp;rsquo;s fantastic for full-page navigations, but what if you want to animate just a &lt;em&gt;part&lt;/em&gt; of your page, perhaps an expanding card, a changing tab, or a component that updates its content with a delightful flourish?&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s precisely what &lt;strong&gt;Scoped View Transitions&lt;/strong&gt; are for, and in this chapter, we&amp;rsquo;re going to unlock their power using the incredible &lt;code&gt;element.startViewTransition()&lt;/code&gt; method. You&amp;rsquo;ll learn how to initiate transitions within a specific DOM subtree, giving you granular control over your animations and enabling multiple, concurrent transitions on a single page. Get ready to make your web components truly come alive!&lt;/p&gt;</description></item><item><title>Chapter 5: Advanced Swapping Techniques: `outerHTML`, `afterbegin`, `beforeend` &amp;amp; More</title><link>https://ai-blog.noorshomelab.dev/htmx-mastery-2025/advanced-swapping-techniques/</link><pubDate>Thu, 04 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/htmx-mastery-2025/advanced-swapping-techniques/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Welcome back, fellow web adventurer! In our previous chapters, you&amp;rsquo;ve mastered the basics of HTMX, learning how to fetch content from the server and replace the &lt;em&gt;inside&lt;/em&gt; of an element. You&amp;rsquo;ve seen the magic of &lt;code&gt;hx-get&lt;/code&gt; and &lt;code&gt;hx-target&lt;/code&gt; working together, primarily using HTMX&amp;rsquo;s default swap mechanism, which is &lt;code&gt;innerHTML&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;But what if you need more control? What if you want to replace an entire element, not just its contents? Or insert new content at the very beginning or end of an element, rather than just overwriting everything? This chapter is your key to unlocking those advanced capabilities! We&amp;rsquo;re going to dive deep into the versatile world of &lt;code&gt;hx-swap&lt;/code&gt; attributes, exploring options like &lt;code&gt;outerHTML&lt;/code&gt;, &lt;code&gt;afterbegin&lt;/code&gt;, &lt;code&gt;beforeend&lt;/code&gt;, and more. By the end of this chapter, you&amp;rsquo;ll be able to precisely dictate where and how HTMX places your server responses, giving you unparalleled flexibility in building dynamic user interfaces.&lt;/p&gt;</description></item><item><title>Chapter 8: Dynamic Content &amp;amp; Lists: Animating Additions and Removals</title><link>https://ai-blog.noorshomelab.dev/scoped-view-transitions-2025/chapter-8-dynamic-content-lists/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/scoped-view-transitions-2025/chapter-8-dynamic-content-lists/</guid><description>&lt;h2 id="introduction-bringing-life-to-dynamic-content"&gt;Introduction: Bringing Life to Dynamic Content!&lt;/h2&gt;
&lt;p&gt;Welcome back, animation adventurer! In our previous chapters, we&amp;rsquo;ve mastered the art of smooth transitions between different views and even how to elegantly move elements across the screen. But what happens when elements aren&amp;rsquo;t just moving, but &lt;em&gt;appearing&lt;/em&gt; or &lt;em&gt;disappearing&lt;/em&gt; entirely? Think about adding a new item to a shopping cart, removing a task from a to-do list, or filtering a gallery of images – these dynamic updates often feel abrupt and jarring.&lt;/p&gt;</description></item><item><title>Chapter 9: Advanced Orchestration: Promises and the `updateCallback`</title><link>https://ai-blog.noorshomelab.dev/scoped-view-transitions-2025/chapter-9-advanced-orchestration/</link><pubDate>Fri, 05 Dec 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/scoped-view-transitions-2025/chapter-9-advanced-orchestration/</guid><description>&lt;h2 id="introduction-taking-control-of-your-transitions"&gt;Introduction: Taking Control of Your Transitions&lt;/h2&gt;
&lt;p&gt;Welcome back, future animation wizard! So far, we&amp;rsquo;ve explored the magic of Scoped View Transitions, giving elements their own little stage for smooth changes. You&amp;rsquo;ve learned how to tag elements with &lt;code&gt;view-transition-name&lt;/code&gt; and trigger basic transitions. But what if you need more control? What if your DOM updates aren&amp;rsquo;t instantaneous, or you want to synchronize other actions with the transition&amp;rsquo;s lifecycle?&lt;/p&gt;
&lt;p&gt;In this chapter, we&amp;rsquo;re going to unlock the true power of orchestrating your View Transitions. We&amp;rsquo;ll dive deep into the &lt;code&gt;updateCallback&lt;/code&gt; function, a crucial part of &lt;code&gt;startViewTransition()&lt;/code&gt;, and explore how JavaScript Promises become your best friends for managing asynchronous operations within your transitions. By the end of this chapter, you&amp;rsquo;ll be able to precisely control &lt;em&gt;when&lt;/em&gt; your DOM updates happen and &lt;em&gt;when&lt;/em&gt; your animations begin and end, leading to incredibly sophisticated and robust user experiences.&lt;/p&gt;</description></item></channel></rss>