javascript - jquery 直接 id 选择不起作用,tag[id] 选择起作用

标签 javascript jquery html

我对 jQuery id-selector 如何与我的 html 一起工作感到非常困惑。

使用$('#id')选择器,jQuery 对象不包含我想要的 DOM 元素,使用 $('tag[id="id"]')选择器虽然以某种方式工作。

有人可以解释为什么前者不起作用而后者起作用吗?

console.log($('#1_9:15')[0]);
console.log($('div[id="1_9:15"]')[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr>
      <th>Monday</th>
      <td>
        <div id="1_9:15">FREE</div>
      </td>
    </tr>
  </tbody>
</table>

最佳答案

: 在 jQuery 选择器中具有特殊含义。例如,要选择所有动画元素,您可以执行 $(":animated")。这就是为什么你需要转义它:

console.log($('#1_9\\:15')[0]);
console.log($('div[id="1_9:15"]')[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr>
      <th>Monday</th>
      <td>
        <div id="1_9:15">FREE</div>
      </td>
    </tr>
  </tbody>
</table>

关于javascript - jquery 直接 id 选择不起作用,tag[id] 选择起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49537722/

相关文章:

javascript - 是否可以使用 Protractor 将 for 循环运行到 .then 中?

javascript - 显示/隐藏未嵌套的 Div

javascript - XMLHttpRequest 和 PHP 的问题

javascript - Ajax 请求未发送我的对象数据

javascript - 如何更新写在 Canvas 上的文本

javascript - 制表符:是否可以为每行添加带有计算值的自定义列?

javascript - Angular 6 日历模板解析错误 : Can't bind to 'view' since it isn't a known property of 'div'

jquery - IE8 XSS/Jquery 问题

html - Div 不缩放到子图像的缩放宽度(Firefox 问题)

javascript - 如何在 JavaScript 中创建这个简单的警报?