无法从标签 jQuery 获取文本,可能是 ID 错误?

Cannot get Text from label jQuery, possible ID error?

如果我使用另一个 ID 来获取一些数据,这没问题,但是当我使用 "lbl_BlendCalc_1.1_I" 作为 ID 时,我无法获取文本。 (更改此 ID 是不可能的)。

<input id="yes1" type="checkbox">
<label style="width: 100px;" id="lbl_BlendCalc_1.1_I">test</label>

$('input').change(function() {
    if (this.checked) {
        alert($("#lbl_BlendCalc_1.1_I").text()) ;
    }
});

http://jsfiddle.net/wycvy/338/

我相信是ID在做某事,但我不知道。

您可以使用属性选择器,在引号中给出 id 将转义为 class 选择器保留的点 . 用于 jQuery.

Live Demo

alert($("[id='lbl_BlendCalc_1.1_I']").text()) ;

如果你使用像@!.这样的特殊字符,我会崩溃所以我们需要用两个反斜杠(\).

转义特殊字符
$('input').change(function() {
  if (this.checked) {
        alert($("#lbl_BlendCalc_1\.1_I").text()) ;
  }
});

Fiddle

字符点 (.) 破坏了 id。因此,如果您不想更改 ID,则使用反斜杠“\”将其转义。