为什么jQuery1.3.2没有通过ID找到现有控件-我做错了什么?
我有一个复杂的html表单,正在使用jQ进行一些工作。今天下午花了大部分时间试图理解一个问题,我可以追溯到jQuery无法找到现有控件的地方。 命令为什么jQuery1.3.2没有通过ID找到现有控件-我做错了什么?,jquery,getelementbyid,Jquery,Getelementbyid,我有一个复杂的html表单,正在使用jQ进行一些工作。今天下午花了大部分时间试图理解一个问题,我可以追溯到jQuery无法找到现有控件的地方。 命令$(“#FormView1_CopaBOM973row%18%_dkF”).width()返回空值。 首先,我考虑了width()实现中的一个错误,并尝试了$(“#FormView1_CopaBOM973row%18%_dkF”).attr(“id”)-未返回任何内容,其长度为0 我在Firefox3.5.5中这样做,我已经使用Firebug的DOM
$(“#FormView1_CopaBOM973row%18%_dkF”).width()代码>返回空值。
首先,我考虑了width()实现中的一个错误,并尝试了$(“#FormView1_CopaBOM973row%18%_dkF”).attr(“id”)代码>-未返回任何内容,其长度为0
我在Firefox3.5.5中这样做,我已经使用Firebug的DOM浏览器验证了它的存在。最后,最终的测试成功了:$(document.getElementById(“FormView1\u CopaBOM973row%18%\u dkF”)。attr(“id”)
返回了预期的结果
所以,我唯一的想法是,任何“可疑”字符都需要转义,但文档没有提到下划线或百分比为“可疑”。那么,我的错在哪里
还有请。不要要求更多的“代码”,我不认为这个问题还需要更多…试试$(“#FormView1_CopaBOM973row%18%_dkF”)[0]。id try$(“#formview 1_CopaBOM973row%18%_dkF”)[0].id “%”不是id属性的有效字符,因此jQuery可能不喜欢这样 “%”不是id属性的有效字符,因此jQuery可能不喜欢这样 避开百分比符号似乎有效
$("#FormView1_CopaBOM973row\\%18\\%_dkF")
摆脱百分比标志似乎是可行的
$("#FormView1_CopaBOM973row\\%18\\%_dkF")
列表底部的特殊字符列表似乎不完整。尝试避开百分比符号:
$("#FormView1_CopaBOM973row\\%18\\%_dkF")
列表底部的特殊字符列表似乎不完整。尝试避开百分比符号:
$("#FormView1_CopaBOM973row\\%18\\%_dkF")
这些百分比%
在CSS选择器中显然是非法的(显然是因为我在中找不到它们,或者它一定是一个未公开的jQuery错误),但在HTML属性中却不是。不过,逃离它们会起作用:
$("#FormView1_CopaBOM973row\\%18\\%_dkF").width();
这些百分比%
在CSS选择器中显然是非法的(显然是因为我在中找不到它们,或者它一定是一个未公开的jQuery错误),但在HTML属性中却不是。不过,逃离它们会起作用:
$("#FormView1_CopaBOM973row\\%18\\%_dkF").width();
我想这是因为你的身份证上有特殊的字符
尝试:
我想这是因为你的身份证上有特殊的字符
尝试:
正如Matthew所说,ID属性上不允许使用特殊字符。这不是jQuery的问题 正如Matthew所说,ID属性上不允许使用特殊字符。这不是jQuery的问题 谢谢Josh-这表明我不应该在ID中使用%,我不知道。谢谢Josh-这表明我不应该在ID中使用%,我不知道。