querySelector有什么问题

时间:2016-12-22 20:18:03

标签: javascript

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

部分源代码:

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

2 个答案:

答案 0 :(得分:3)

如果你想使用es6占位符,你需要使用backtick(`)而不是单个撇号。

`audio[data-key="${e.keyCode}"]`

其他选项只是使用字符串连接。

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

答案 1 :(得分:1)

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

将其更改为:

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