gpt4 book ai didi

jQuery 选择器和反斜杠

转载 作者:行者123 更新时间:2023-12-03 22:55:28 24 4
gpt4 key购买 nike

我有一个 dom 元素,其中包含完全限定名称作为 id 属性的一部分;

<div id="domain\element\div">My Div</div>

让 jQuery 通过 ID 选择元素似乎是不可能的。这是我的实验;

var $e1 = $('#domain\\\element\\\div');
var $e2 = $('#domain\\element\\div');
var $e3 = $(document.getElementById('domain\\\element\\\div'));
console.log($e1);
console.log($e2);
console.log($e3);

控制台的输出显示前两个为空,而第三个有效;

[]
[]
<div id=​"domain\element\div">​TODO write content​</div>​

我使用的是 jQuery 1.5.2。这是 jQuery 本身的错误还是我的选择器字符串错误?

最佳答案

如果您可以更改 HTML 代码中的 ID,请为您的 ID 找到除反斜杠 \ 之外的其他分隔符,以便为您的选择器创建有效的 ID(请参阅 here )。下划线 _ 会很好。

如果您无法更改 HTML,jQuery 仍然可以使用 ID 和 ID 选择器中的反斜杠。除此之外,您需要使用四个反斜杠来匹配 ID 选择器中的每个文字反斜杠:

$('#domain\\\\element\\\\div')

您可以通过以下方式实现这一点

  1. 获取 ID:

    domain\element\div
  2. 添加 # 符号并转义选择器的反斜杠:

    #domain\\element\\div
  3. 通过将每对反斜杠加倍来转义以在 JavaScript 字符串中使用(另请注意引号):

    '#domain\\\\element\\\\div'
  4. 然后将字符串传递给 $(),如上所示。

jsFiddle

关于jQuery 选择器和反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5825948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com