【JS给元素添加属性:setAttribute;classList.remove;classList.add;】

本文介绍了如何通过JavaScript操作HTML中的<img>元素,包括使用getElementById获取元素,setAttribute修改src属性,以及classList方法实现添加和删除CSS类以控制样式显示。展示了如何结合HTML、CSS和JavaScript进行前端交互设计。
摘要由CSDN通过智能技术生成
  1. 首先获取当前元素

html

<img id="zi" class="zi" src="/src/image/w.png">

js

const zi = document.getElementById("zi");
  1. 修改img元素的src属性
    使用setAttribute来设置属性。

js

zi.setAttribute("src", this.key);
  1. 给元素添加class
    使用classList.remove来删除 class、classList.add来新增class,可以用来修改样式。

js

// 删除class
 zi.classList.remove("update-file-block");
 // 增加class
 zi.classList.add("update-file-none");

css

.update-file-block {
  display: inline-block;
}
.update-file-none {
  display: none !important;
}
// draggable.js import { onMounted, onBeforeUnmount } from 'vue' export default { mounted(el) { console.log('el',el) el.setAttribute('draggable', true) let startX, startY, initialLeft, initialTop, currentX, currentY const onDragStart = (e) => { console.log('e',e.preventDefault()) e.stopPropagation() // e.preventDefault() startX = e.clientX || e.touches[0].clientX startY = e.clientY || e.touches[0].clientY initialLeft = el.offsetLeft initialTop = el.offsetTop el.classList.add('dragging') } const onDrag = (e) => { e.stopPropagation() currentX = (e.clientX || e.touches[0].clientX) - startX currentY = (e.clientY || e.touches[0].clientY) - startY el.style.left = `${initialLeft + currentX}px` el.style.top = `${initialTop + currentY}px` } const onDragEnd = (e) => { e.stopPropagation() el.classList.remove('dragging') } el.addEventListener('dragstart', onDragStart) el.addEventListener('drag', onDrag) el.addEventListener('dragend', onDragEnd) el.addEventListener('touchstart', onDragStart) el.addEventListener('touchmove', onDrag) el.addEventListener('touchend', onDragEnd) onMounted(() => { el.classList.add('draggable') }) onBeforeUnmount(() => { el.removeEventListener('dragstart', onDragStart) el.removeEventListener('drag', onDrag) el.removeEventListener('dragend', onDragEnd) el.removeEventListener('touchstart', onDragStart) el.removeEventListener('touchmove', onDrag) el.removeEventListener('touchend', onDragEnd) el.classList.remove('draggable') el.classList.remove('dragging') }) } } 为什么拖拽时会出现虚影,残影, 怎么解决这个问题
05-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值