选择具有class =“ {c}”的元素

hre*_*tic 2 javascript jquery

我正在尝试选择元素 class="{c}"

<div id="main">
    <div class="{c}">  some data </div>
    <div class="{c}">  some data </div>
    <div class="{c}">  some data </div>
    <div class="{c}">  some data </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的jQuery代码:

$('#main').find('.{c}' ).each(function()
{
    console.log($(this).html());
})
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

Uncaught Error: Syntax error, unrecognized expression: .{c}
Run Code Online (Sandbox Code Playgroud)

如何选择此元素?

顺便说一句,我正在使用chrome puppeteer从某些网站上抓取数据……我不拥有该网站,无法更改类名

Bre*_*son 6

您可以使用两个反斜杠转义花括号:

$(".\\{c\\}")
Run Code Online (Sandbox Code Playgroud)

根据文档

要将任何元字符(如!“#$%&'()* +,。/ :; <=>?@ [] ^`{|}〜)用作名称的文字部分,必须以两个反斜杠转义:\\

因此,使用您的示例:

$('#main').find('.\\{c\\}' ).each(function()
{
    console.log($(this).html());
})
Run Code Online (Sandbox Code Playgroud)

小提琴示例:https : //jsfiddle.net/83tcg7fb/