【问题标题】:Special characters in data attribute values数据属性值中的特殊字符
【发布时间】:2016-05-03 11:03:53
【问题描述】:

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

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

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

如何使用 jQuery 选择器选择它?

我试过这个没有成功:

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

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

【问题讨论】:

    标签: jquery jquery-selectors


    【解决方案1】:

    li [data-id=...] 意味着“任何具有data-id... 元素,它是任何&lt;li&gt; 元素的后代”

    你想要的是li[data-id=...],它的意思是“任何&lt;li&gt;元素的data-id属性值为...”。

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

    【讨论】:

      【解决方案2】:

      根据css选择器$("li [data-id=87dhqsiu37fGyqUNA786d6F7]")表示任何具有data-id属性但在&lt;li&gt;的子元素中的元素。

      但是这里&lt;li&gt; itselt 是一个带有data-id 属性的元素。

      所以正确的语法是

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-11-16
        • 1970-01-01
        • 2013-01-08
        • 1970-01-01
        • 2018-10-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多