使用 alpine JS 动态添加和删除 DOM 元素

Posted

技术标签:

【中文标题】使用 alpine JS 动态添加和删除 DOM 元素【英文标题】:Add and Remove DOM element dynamically using alpine JS 【发布时间】:2021-09-26 19:20:04 【问题描述】:

假设我有 3 个单选按钮,值为 1、2、3。

当我点击值为 2 的单选按钮时,我需要创建 2 个 div。

当我单击值为 1 的单选按钮时,因此我需要删除 1 个 div。

目前,上述场景完成如下:

<template x-for="i in radioValue" x-init="$watch('radioValue', value => console.log(value))">
    <div class="bg-white rounded-md h-full w-full"></div>
</template>

感谢任何帮助!

【问题讨论】:

【参考方案1】:

目前尚不清楚您究竟想要实现什么。但这可以满足您的要求:

<form x-data="radioValue: null">

    <fieldset x-model="radioValue">
        <input type="radio" name="radioInput" value="1">Radio 1<br>
        <input type="radio" name="radioInput" value="2">Radio 2<br>
        <input type="radio" name="radioInput" value="3">Radio 3<br>
    </fieldset>

    <hr>

    <div x-show="radioValue!='1' && radioValue!=null">Div no.1</div>
    <div x-show="radioValue==='2' || radioValue==='1'">Div no.2</div>
    
</form>

您可以使用x-model 获取单选按钮的选定值并将其存储在变量中,然后根据此决定显示/隐藏哪些其他元素。

【讨论】:

以上是关于使用 alpine JS 动态添加和删除 DOM 元素的主要内容,如果未能解决你的问题,请参考以下文章

js实现动态添加删除(留言板)

使用 D3 在 DOM 中动态添加/删除 Angular 组件

DOM动态添加删除表格内容所使用到的常用方法,) . 给表格行创建删除单元格的方法. 事件概念和事件监听

DOM动态添加删除表格内容所使用到的常用方法,) . 给表格行创建删除单元格的方法. 事件概念和事件监听

如何在 Angular.js 中从 DOM 中添加/删除 createElement

JQuery动态创建删除DOM元素