为什么 document.querySelector 在 Javascript 中找不到 class 名字

Why document.querySelector fails to find class name in Javascript

刚开始 JavaScript 中的 document.querySelector。为什么会 let result = document.querySelector('Lh') return 一个空值。我已经尝试过许多将 div 作为搜索字符串的一部分的排列,但在 div 中肯定有一些不同之处?通配符建议...

let result1 = document.querySelector('[class^="Lh(21px)"]')
let result2 = document.querySelector('[class^=".Lh(21px)"]')
let result3 = document.querySelector('[class^="Lh"]')
let result4 = document.querySelector('[class^=".Lh"]')

所有 return 个空值。

<div class="" data-test="quote-mdl" data-yaft-module="tdv2-applet-summary">
    <div class="Mb(25px) smartphone_Px(20px)">
        <h3 class="Mb(5px)"><span>Summary</span></h3>
        <div class="Lh(21px)">Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            Sed et magna magna. Praesent in condimentum quam. Phasellus dui ligula,
            tincidunt porta fermentum nec. rhoncus id enim. Duis tempor, tellus at
            fermentum consectetur, nisl ipsum placerat metus, sed aliquam turpis enim eget erat.
        </div>
    </div>
</div>

<div class="Lh(21px)">Lorem ipsum dolor ...

你的 class 的名字是 Lh(21px) 而不是 Lh,如果你想匹配 开头的任何 class 名字[=27] =]与Lh,使用中提供的解决方案:

let result1 = document.querySelector('[class^="Lh"]');
console.log(result1)
<div class="" data-test="quote-mdl" data-yaft-module="tdv2-applet-summary">
    <div class="Mb(25px) smartphone_Px(20px)">
        <h3 class="Mb(5px)"><span>Summary</span></h3>
        <div class="Lh(21px)">Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            Sed et magna magna. Praesent in condimentum quam. Phasellus dui ligula,
            tincidunt porta fermentum nec. rhoncus id enim. Duis tempor, tellus at
            fermentum consectetur, nisl ipsum placerat metus, sed aliquam turpis enim eget erat.
        </div>
    </div>
</div>

根据 MDN:

The Document method querySelector() returns the first Element within the document that matches the specified selector, or group of selectors. If no matches are found, null is returned.

Lh 不是有效的选择器,因为它不是标签而是类名。因此,您应该将代码更改为:


const divElement = document.querySelector(".Lh\(21px\)")

[编辑]:如果使用括号

,请添加反斜杠