javascript - 如何找到具有属性的元素并更改 javascript 中的属性值?

标签 javascript html

function allowDrop(ev) {
    ev.preventDefault();
  }

  function drag(ev) {
    ev.dataTransfer.setData("Text", ev.target.id);
  }

  function drop(ev) {
    var data = ev.dataTransfer.getData("Text");
    ev.target.appendChild(document.getElementById(data));
    ev.preventDefault();
  }
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<img id="x" src="X.png" draggable="true" ondragstart="drag(event)" />

放下图像后,如何通过查找具有属性 draggable 的可用元素,将属性值 draggable="true" 更改为 draggable="false" ="true" 在函数 drop() 中?

最佳答案

使用querySelectorAll 获取所有draggable 设置为true 的元素。使用 setAttributedraggable 设置为 false

function allowDrop(ev) {
  ev.preventDefault();
}

function drag(ev) {
  ev.dataTransfer.setData("Text", ev.target.id);
}

function drop(ev) {
  var data = ev.dataTransfer.getData("Text");
  ev.target.appendChild(document.getElementById(data));
  ev.preventDefault();
  var elem = document.querySelector('.className');
  elem.querySelectorAll('[draggable="true"]').forEach(e => e.setAttribute('draggable', false))
}
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<img id="x" src="X.png" draggable="true" ondragstart="drag(event)" />

关于javascript - 如何找到具有属性的元素并更改 javascript 中的属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55238228/

相关文章:

javascript - 获取输入内的点击字符位置(不是坐标)

jquery - 在输入字段中设置文本的问题

javascript - Ajax .done() 未检测到 form.submit

javascript - 为关闭模态窗口启用向下滑动动画

javascript - 是否可以使用键盘选项卡选择 Span 对象?

javascript - 如果页面上不存在 Div 类,则显示 SweetAlert 弹出窗口

html - 我如何让我的链接靠近 Logo ?

javascript - Js 从元素中删除所有类

javascript - 从数组中删除精确重复的行

javascript - 将 jQuery (AJAX) 的结果设置为 Bootstrap 模式