根据下面编写的代码,当单击带有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>
答案 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+'"]');