Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript querySelector有什么问题_Javascript - Fatal编程技术网

Javascript querySelector有什么问题

Javascript querySelector有什么问题,javascript,Javascript,根据下面编写的代码,当单击包含keyCode 65的“a”时,预期结果应该是在控制台中返回DOM元素。当我运行代码并检查时,它在控制台中返回null 部分源代码: <audio data-key="65" src="#"></audio> <script> window.addEventListener('keydown',function(e){ const audio = document.querySelector('audi

根据下面编写的代码,当单击包含keyCode 65的“a”时,预期结果应该是在控制台中返回DOM元素。当我运行代码并检查时,它在控制台中返回null

部分源代码:

<audio data-key="65" src="#"></audio>

<script>
    window.addEventListener('keydown',function(e){

        const audio = document.querySelector('audio[data-key="${e.keyCode}"]');
        console.log(audio);

    });
</script>

您需要将键码连接到选择器字符串中,而不是将其作为模板字符串包含

将其更改为:

const audio = document.querySelector('audio[data-key="'+e.keyCode+'"]');

如果要使用es6占位符,需要使用backtick`而不是单撇号

`audio[data-key="${e.keyCode}"]`
另一种选择是只使用字符串连接

'audio[data-key="'+e.keyCode+'"]'

比我快5秒,因为我不知道如何使用内联代码格式编写反勾字符。