点击一个按钮,有没有一种方法可以检查Div内部的图像
on clicking a button is there a way to check what image is inside a Div?
Hi,所以我有两个div元素(70px乘70px)和两个图像,这些图像具有HTML5拖放功能,可以拖动到div框中。
我想做的是,当图像被拖动到div框中,然后单击按钮时,我希望div框的边框根据div.中的图像改变颜色
有没有一种方法可以使用Javascript来做到这一点?。图像有ID,所以有可能编写一个使用ID的函数吗?
这是我的代码:
CSS:
#Drop1 {width:70px;height:70px;padding:10px;border:1px solid#aaaaaa;}
#Drop2 {width:70px;height:70px;padding:10px;border:1px solid#aaaaaa;}
JS:
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text/html", ev.target.id);
}
function drop(ev) {
ev.preventDefault();
var data=ev.dataTransfer.getData("text/html");
var nodeCopy = document.getElementById(data).cloneNode(true);
nodeCopy.id = "newId";
ev.target.appendChild(nodeCopy);
}
HTML:
<body>
<div id="Drop1" ondrop="drop(event)" ondragover="allowDrop(event)"> </div>
<div id="Drop2" ondrop="drop(event)" ondragover="allowDrop(event)"> </div>
<img id="drag1" src="forward.png" draggable="true" ondragstart="drag(event)" width="64" height="64">
<img id="drag2" src="left.png" draggable="true" ondragstart="drag(event)" width="64" height="64">
</body>
这是你想要完成的事情吗?
JS-
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text/html", ev.target.id);
}
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text/html"),
nodeCopy = document.getElementById(data).cloneNode(true),
type = nodeCopy.src;
nodeCopy.id = "newId";
ev.target.appendChild(nodeCopy);
if(type.indexOf(".png") !== -1) {
ev.target.className = 'red-border';
} else if(type.indexOf(".jpg") !== -1) {
ev.target.className = 'green-border';
} else {
ev.target.className = 'gray-border';
}
}
CSS
#Drop1 {width:70px;height:70px;padding:10px;border:1px solid#aaaaaa;}
#Drop2 {width:70px;height:70px;padding:10px;border:1px solid#aaaaaa;}
#Drop1.red-border,
#Drop2.red-border {
border: 1px solid red;
}
#Drop1.green-border,
#Drop2.green-border {
border: 1px solid green;
}
#Drop1.gray-border,
#Drop2.gray-border {
border: 1px solid darkgray;
}
Plunker演示
带有按钮的更新版本
function allowDrop(ev) {
ev.preventDefault();
}
function drag(ev) {
ev.dataTransfer.setData("text/html", ev.target.id);
}
function drop(ev) {
ev.preventDefault();
var data = ev.dataTransfer.getData("text/html"),
nodeCopy = document.getElementById(data).cloneNode(true),
type = nodeCopy.src;
nodeCopy.id = "newId";
ev.target.appendChild(nodeCopy);
}
function checkImages() {
var drop1Elem = document.getElementById('Drop1'),
drop2Elem = document.getElementById('Drop2');
if(drop1Elem.childNodes.length >= 1) {
if(drop1Elem.childNodes[0].className === 'item1') {
drop1Elem.className = 'red-border';
} else if(drop1Elem.childNodes[0].className === 'item2') {
drop1Elem.className = 'green-border';
} else {
drop1Elem.className = 'gray-border';
}
}
if(drop2Elem.childNodes.length >= 1) {
if(drop2Elem.childNodes[0].className === 'item1') {
drop2Elem.className = 'red-border';
} else if(drop2Elem.childNodes[0].className === 'item2') {
drop2Elem.className = 'green-border';
} else {
drop2Elem.className = 'gray-border';
}
}
}
Plunker演示
相关文章:
- 检查HTML是否已加载到DIV中
- 点击一个按钮,有没有一种方法可以检查Div内部的图像
- jQuery-检查外部页面上是否存在DIV,如果存在,则加载DIV,否则加载另一个
- Div在浏览器的检查元素中很暗,无法检索内容
- Jquery:在检查最后一个字母时将文本从表单复制到 DIV
- 检查 DIV 是否使用 IF ELSE 被隐藏
- 在运行一些Javascript之前检查DIV是否存在
- Javascript 2D数组检查Div类
- 检查元素是否在溢出滚动DIV中完全可见
- 如何检查完整的Div是否有效
- 检查DIV是否可见或不使用javascript
- 如何移动DIV's(侧边栏)与if/else检查
- 检查DIV元素的显示样式
- 在Chrome's Inspect Element中检查DIV后面的JavaScript
- 如何检查在一个特定的DIV中是否有链接被点击
- 检查Div是否同时具有“惟一类”和“惟一id”存在
- 在jQuery中按类检查DIV元素是否存在
- 检查 Div 中的数据是否被编辑
- 如何使用jQuery检查DIV是否滚动到底部
- 检查Div html是否有特定字符