数据属性值中的特殊字符

Special characters in data attribute values

我有一个 html 可以找到的内容:

<li data-id="87dhqsiu37fGyqUNA786d6F7=">

注意数据属性值末尾的=符号

我如何 select 使用 jQuery select 或?

我试过了没有成功:

$("li [data-id=87dhqsiu37fGyqUNA786d6F7]")
$("li [data-id=87dhqsiu37fGyqUNA786d6F7\=]")
$("li [data-id=87dhqsiu37fGyqUNA786d6F7\u003D]")
$("li [data-id=87dhqsiu37fGyqUNA786d6F7&#61;]")

每次都给我一个语法错误(第一行除外,它只是找不到元素)。

根据 css 选择器 $("li [data-id=87dhqsiu37fGyqUNA786d6F7]") 表示具有 data-id 属性但在 <li>.

的子元素中的任何元素

但是这里 <li> 本身是一个具有 data-id 属性的元素。

所以正确的语法是

$('li[data-id="87dhqsiu37fGyqUNA786d6F7="]')

只是 CSS 选择器语法的一个简单问题。

li [data-id=...] 表示 "any element with data-id of ..., which is a descendant of any <li> element"

你要的是li[data-id=...],意思是"any <li> element with data-id attribute with value of ..."。

这不是任何特定库的问题,这就是 CSS 选择器的工作方式。