DOM对标签的增删改

对标签增删改的基本操作

创建jsTest.html
html中的内容为
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- 标签的增删改 -->
<html>
<head>
  <title>DOM 基础</title>
  <link href='jsTest.css' type='text/css' rel="stylesheet"/>
  <script type="text/javascript">
//增加标签
     function createDiv(){
var div = document.createElement('div');  //创建标签
div.id = 'newDiv';
//document.body.appendChild(div);   //把div放到myDiv的后面
document.body.insertBefore(div,document.getElementById('myDiv'));  //把div放在myDiv的前面
}
//移除标签
function removeP(){
var p=document.getElementsByTagName("p")[0];
p.parentNode.removeChild(p);
}
//修改标签属性和内容
function changeId(){
var div=document.getElementById('myDiv');
div.id='testNewId';
}
//获取某标签中的内容
function getHTML(){
var div = document.getElementById('myDiv');
alert(div.innerHTML);
}
//嵌入新div
function changeHTML(){
var div=document.getElementById('myDiv');
div.innerHTML="<div>嵌入的新div</div>"
}
//第一种改变样式方法
function setStyle(){
var div=document.getElementById('myDiv');
div.style.background='#ffff00';
div.style.width=300+'px';
div.style.height=50+'px';
}
     //第二种改变样式方法
function useCSS(){
var div=document.getElementById('myDiv');
div.className='myDiv';
}
  </script>
</head>

<body>
<div id = "myDiv">
<p>p标签1</p>
</div>
<p>p标签2</p>
<button οnclick="createDiv()">创建Div</button>
<button οnclick='removeP()'>删除第一个P标签</button>
<button οnclick='changeId()'>修改Id</button>
<button οnclick='getHTML()'>获取HTML</button>
<button οnclick='changeHTML()'>改变HTML</button>
<button οnclick='setStyle()'>改变样式</button>
<button οnclick='useCSS()'>改变样式2</button>
</body>
</html>


创建jsTest.css文件,把他与jsTest.js放在同一个文件夹中
css中的内容为
.myDiv{
background-color:#ffff00;
width:300px;
height:50px;
}

更多方法可查看http://www.w3school.com.cn/网站
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在React,我们可以使用`react-router-dom`库来动态增删路由。下面是一个简单的例子,演示如何使用`react-router-dom`库来动态增删路由。 首先,我们需要在应用程序安装和导入`react-router-dom`库: ```javascript npm install react-router-dom ``` ```javascript import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom'; ``` 接下来,我们可以定义一个组件,用来显示一个列表,并添加一些按钮用于动态增删路由: ```javascript import React from 'react'; import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom'; const App = () => { const [routes, setRoutes] = React.useState([ { id: 1, path: '/route/1', component: Route1 }, { id: 2, path: '/route/2', component: Route2 }, ]); const addRoute = () => { const newRoute = { id: routes.length + 1, path: `/route/${routes.length + 1}`, component: () => <h1>New Route {routes.length + 1}</h1>, }; setRoutes([...routes, newRoute]); }; const removeRoute = (id) => { setRoutes(routes.filter((route) => route.id !== id)); }; const updateRoute = (id, path) => { setRoutes( routes.map((route) => route.id === id ? { ...route, path } : route ) ); }; return ( <Router> <div> <nav> <ul> {routes.map((route) => ( <li key={route.id}> <Link to={route.path}>Route {route.id}</Link> <button onClick={() => removeRoute(route.id)}>X</button> <button onClick={() => updateRoute(route.id, '/new-path')}> Update </button> </li> ))} </ul> <button onClick={addRoute}>Add Route</button> </nav> <Switch> {routes.map((route) => ( <Route key={route.id} path={route.path} component={route.component} /> ))} </Switch> </div> </Router> ); }; const Route1 = () => { return <h1>Route 1</h1>; }; const Route2 = () => { return <h1>Route 2</h1>; }; export default App; ``` 在上面的代码,我们使用`useState` hook来管理路由数组。然后,我们定义了三个函数:`addRoute`,`removeRoute`和`updateRoute`,分别用于添加、删除和更新路由。这些函数都会更新路由数组,并使用`setRoutes` hook来重新渲染应用程序。 在`render`方法,我们首先渲染一个导航栏,其包含一个用于添加新路由的按钮,以及每个路由的删除和更新按钮。然后,我们渲染一个`Switch`组件,其包含每个路由的`Route`组件。 当用户点击“添加路由”按钮时,`addRoute`函数会创建一个新的路由对象,并将其添加到路由数组。当用户点击“删除”按钮时,`removeRoute`函数会从路由数组删除具有指定ID的路由。当用户点击“更新”按钮时,`updateRoute`函数会更新具有指定ID的路由的路径。 最后,我们使用`map`函数将每个路由渲染为导航栏的一个链接,并将每个路由渲染为`Route`组件。 这是一个简单的例子,演示了如何使用`react-router-dom`库来动态增删路由。你可以根据自己的需求进行修和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值