document.querySelectorAll长度始终为0

Mic*_*ael 6 javascript

我正在尝试用javascript创建一些可拖动的框.我决定在CSS和"box"类中创建一个空类"draggable".代码如下:

<!DOCTYPE html>
<html>

<head>
    <style>
    .draggable
    {

    }
    .box
    {
        position: absolute;
        width: 80px; height: 60px;
        padding-top: 10px;
        text-align: center;
        font-size: 40px;
        background-color: #222;
        color: #CCC;
    }
    </style>
</head>

<body>
<div class="draggable box">1</div>
<div class="draggable box">2</div>
<div class="draggable box">3</div>
<script>
    var draggableStuff = document.querySelectorAll('draggable');
    var tabLength = draggableStuff.length;
    alert(tabLength);
</script>
</body>
Run Code Online (Sandbox Code Playgroud)

问题是tabLength总是为零.我希望得到一个充满所有可拖动内容的数组.我是javascript的新手.我错过了什么?

Rob*_*b W 8

你想按类选择元素,所以不要忘记点:

var draggableStuff = document.querySelectorAll('.draggable');
Run Code Online (Sandbox Code Playgroud)

另一种选择是使用document.getElementsByClassName:

var draggableStuff = document.getElementsBYClassName('draggable');
Run Code Online (Sandbox Code Playgroud)

  • @Rob W:可能想要更正`document.getElementsBYClassName`上的`BY`. (3认同)