繁体   English   中英

jQuery ID选择器不起作用

[英]Jquery ID Selectors not working

我有一堆带有如下标记的HTML:

<div id="Field~1">Text text</div>

我不能使用普通的ID选择器,例如:

alert($("#Field~1").text())

我猜想这与“〜”有关,但是仍然可以引用这些类型吗?

我在这里设置了JSfiddle: http : //jsfiddle.net/4M97c/

您需要使用\\\\转义选择器中所有出现的特殊字符。

第一种方法:

 alert($("#Field\\~1").text())

工作演示

第二种方法:

var ID="Field~1";
alert($("[id='"+ID+"']").text())

工作小提琴

您需要转义带有双反斜杠\\\\特殊字符~ 文档

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

alert($("#Field\\~1").text())

更新小提琴

可以说,处理标识符中特殊字符的最简单(也是性能最好)的方法是使用getElementById()并将其包装在jQuery对象中。

alert($(document.getElementById('Field~1')).text());

除了选择器之外, $()还接受一个DOM元素并将其转换为jQuery对象。

只是这样做:

alert($('[id="Field~1"]').text())

这是id的字符串表示形式,因此您不必担心转义特殊字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM