简体   繁体   English

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

[英]How to find the element with an attribute and change the attribute value in javascript?

 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)" /> 

After dropping the image how can i change the attribute value draggable="true" to draggable="false" by finding the available elements with attribute draggable="true" inside the function drop() ? 删除图像后,如何通过在函数drop()找到属性draggable="true"的可用元素,将属性值draggable="true"更改为draggable="false"

I would use querySelectorAll and setAttribute 我会使用querySelectorAllsetAttribute

document.querySelectorAll('[draggable="true"]').forEach(elem =>
  elem.setAttribute("draggable",false)
);

Older JS 年长的JS

var elems = document.querySelectorAll('[draggable="true"]');
for (var i=0;i<elems.length;i++) {
  elems[i].setAttribute("draggable",false);
}

Using a class: 使用课程:

document.querySelectorAll('.someClass[draggable="true"]')

Use querySelectorAll to get all the elements having draggable set to true . 使用querySelectorAll将所有具有draggable set to true的元素。 using setAttribute set draggable to false 使用setAttributedraggable to false设置draggable to 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)" /> 

You can use 您可以使用

document.querySelectorAll('[draggable="true"]');

in order to find elements with a certain attribute. 为了找到具有特定属性的元素。

Note that this works only for HTML attributes, for classes you shall use 请注意,这仅适用于您应使用的类的HTML属性

document.querySelectorAll('.classname[draggable="true"]')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM