首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Console.log - getElementsByClassName

Console.log - getElementsByClassName
EN

Stack Overflow用户
提问于 2015-03-27 12:16:07
回答 1查看 1.8K关注 0票数 0

我正在努力学习HTML5 "DnD“。

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

代码语言:javascript
复制
echo "<li class='elements' id='".$row['id']."' draggable='true'>".$row['element_nr']."</li>";

现在我想用javascript获取这个文本。

代码语言:javascript
复制
element = document.getElementsByClassName('elements');

然后,为了好玩,我想安慰这个变量,以表示它中的内容。所以我用:

代码语言:javascript
复制
var element = document.getElementsByClassName('elements');
console.log(element);

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

我如何才能看到"var元素“中的内容?

这是我的代码。(还不起作用)

JS

代码语言:javascript
复制
$(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);
});

代码语言:javascript
复制
<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>
EN

回答 1

Stack Overflow用户

发布于 2015-03-27 12:29:35

这里的问题是,doFirst()从未被调用,因为您附加的通风口侦听器是不正确的。

此外,element.addEventListener无法工作,因为它实际上是一个活的元素数组。

尝尝这个

代码语言:javascript
复制
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);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29300457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档