[英]Console.log - getElementsByClassName
I'm trying to learn HTML5 "DnD". 我正在尝试学习HTML5“ DnD”。
I have a table wich is created with HTML from PHP. 我有一个用PHP的HTML创建的表。
echo "<li class='elements' id='".$row['id']."' draggable='true'>".$row['element_nr']."</li>";
Now i'd like to fetch this text with javascript. 现在,我想使用javascript提取此文本。
element = document.getElementsByClassName('elements');
Then just for fun i'd like to console that variable to se what's in it. 然后只是为了好玩,我想控制台该变量,以了解其中的内容。 So i use:
所以我用:
var element = document.getElementsByClassName('elements');
console.log(element);
Now when i check my console, i see nothing. 现在,当我检查控制台时,什么也看不到。 When i drag the text i see nothing.
当我拖动文本时,我什么也看不到。 I have also tryed "prompt(element);"
我也尝试过“提示(元素)”;
How can i see what´s in "var element"? 如何查看“ var element”中的内容?
This is my code.(Not really working yet) 这是我的代码(尚未真正起作用)
JS JS
$(document).ready(function(){
function doFirst(){
element = document.getElementsByClassName('elements');
element.addEventListener('dragstart', startDrag, false);
drop_element = document.getElementById('drop_element');
drop_element.addEventListener('dragenter', function(e){e.preventDefault();}, false);
drop_element.addEventListener('dragover', function(e){e.preventDefault();}, false);
drop_element.addEventListener('drop', dropped, false);
}
function startDrag(e){
var element = document.getElementsByClassName('elements');
console.log(element);
e.dataTransfer.setData('Text', element);
}
function dropped(e){
e.preventDefault();
drop_element.innerHTML = e.dataTranfer.getData('Text');
}
window.addEventListener('Load', doFirst, false);
});
HTML 的HTML
<section id="drag_element">
<ul>
<?php echo "<li class='elements' id='".$row['id']."' draggable='true'>".$row['element_nr']."</li>";?>
</ul>
<section id="drop_element">
drop here
</section>
The issue here is that doFirst()
is never invoked because the vent listener you attached is incorrect. 这里的问题是因为您连接的通风口侦听器不正确,所以永远不会调用
doFirst()
。
Additionally, element.addEventListener
isn't going to work because it's actually a live array of elements. 另外,
element.addEventListener
不能正常工作,因为它实际上是一个实时的元素数组。
Try this 尝试这个
jQuery(function(){
function doFirst(){
jQuery('.elements').on('dragstart', startDrag);
jQuery('#drop_element').on('dragenter dragover', function(e) { e.preventDefault(); });
jQuery('#drop_element').on('drop', dropped);
}
function startDrag(e){
var elements = document.getElementsByClassName('elements');
console.log(elements);
e.dataTransfer.setData('Text', element);
}
function dropped(e){
e.preventDefault();
jQuery('#drop_element').html(e.dataTranfer.getData('Text'));
}
jQuery('window').on('load', doFirst);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.