Javascript DOM元素的创建、获取、插入、删除

这篇博客介绍了如何在JavaScript中动态创建、获取、插入和删除DOM元素,以及展示和隐藏元素的方法。通过示例展示了如何根据数据对象创建带有特定属性和样式的标记点,并应用动画效果。此外,还涉及到了数据绑定和CSS样式的使用。
摘要由CSDN通过智能技术生成

DOM 元素动态创建、获取、插入、删除
场景:用户进行某个操作,动态添加元素及样式

var detailInfo = {
  id: 11,
  status_w: 2,
  target: 2
}

//创建 DOM 元素
var floorEle = document.createElement('div')
var className = 'sectionTypeMarker'
floorEle.innerHTML = `<div class="sectionMarker ${className}" data-id="${detailInfo.id}" data-status="${detailInfo.status_w}" data-target="${detailInfo.target}"><img class="marker-content" src="${imgUrl}" /></div>`

//获取元素
var markerHtml = sectionMarkers.getElement()
var className = 'sectionTypeMarker'
var markerDom = markerHtml.querySelector(`.${className}`)  


//获取元素的状态值
var dataset = markerDom.dataset
//例如:
dataset['status']
dataset['target']

//显示/隐藏元素
markerDom.style.display = 'block'
markerDom.style.display = 'none'


//插入元素
let rippleHtmlString = '<div class="water-ripple water-ripple-4"></div>'
markerDom.appendChild(document.createRange().createContextualFragment(rippleHtmlString))

//删除元素
let waterRippleDom = markerDom.querySelector('.water-ripple') // 获取元素
markerDom.removeChild(waterRippleDom) // 删除元素



// CSS样式:
// 标记点样式
/deep/ .sectionMarker {
  position: relative;
  width: 50px;
}
/deep/ .sectionMarker .marker-content {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 2;
}

// 标记点样式:动画
/deep/ .water-ripple-4 {
  animation: wateranimate 2s 0s ease-out infinite;
}
/deep/ .water-ripple {
  padding: 30%;
  position: absolute;
  left: 20%;
  top: 20%;
  box-shadow: 0 0 25px 30px rgba(255, 255, 255, 0.8) inset;
  border-radius: 100%;
  z-index: 1;
  opacity: 0;
}

@keyframes wateranimate {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 0;
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Windyluna

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值