繁体   English   中英

Console.log-getElementsByClassName

[英]Console.log - getElementsByClassName

我正在尝试学习HTML5“ DnD”。

我有一个用PHP的HTML创建的表。

echo "<li class='elements' id='".$row['id']."' draggable='true'>".$row['element_nr']."</li>";

现在,我想使用javascript提取此文本。

element = document.getElementsByClassName('elements');

然后只是为了好玩,我想控制台该变量,以了解其中的内容。 所以我用:

var element = document.getElementsByClassName('elements');
console.log(element);

现在,当我检查控制台时,什么也看不到。 当我拖动文本时,我什么也看不到。 我也尝试过“提示(元素)”;

如何查看“ var element”中的内容?
这是我的代码(尚未真正起作用)

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

<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>

这里的问题是因为您连接的通风口侦听器不正确,所以永远不会调用doFirst()

另外, element.addEventListener不能正常工作,因为它实际上是一个实时的元素数组。

尝试这个

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.

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