Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery选择器长度限制?_Jquery_Asp.net Mvc - Fatal编程技术网

Jquery选择器长度限制?

Jquery选择器长度限制?,jquery,asp.net-mvc,Jquery,Asp.net Mvc,我正在使用ASP.Net MVC,它为位于我的对象树深处的对象创建了一个文本框id,如下所示: <input id="evt_SessionLinks[0]_Sessions[0]_TimeTables[0]_TimeWindows[0]_Finish" name="evt.SessionLinks[0].Sessions[0].TimeTables[0].TimeWindows[0].Finish" type="text" value="" class="clockPick"/>

我正在使用ASP.Net MVC,它为位于我的对象树深处的对象创建了一个文本框id,如下所示:

<input id="evt_SessionLinks[0]_Sessions[0]_TimeTables[0]_TimeWindows[0]_Finish" name="evt.SessionLinks[0].Sessions[0].TimeTables[0].TimeWindows[0].Finish" type="text" value="" class="clockPick"/>
如果我运行我的代码,放置一个断点并检查e,变量的长度显示为0

如果我将id和选择器更改为id='Finish'/'Finish'。那么长度=1


我想我正在尝试正确选择元素?选择器可以找到的id长度是否有某种限制

我认为问题在于方括号,而不是选择器的长度。尝试用\来转义方括号

更新:根据,您需要两个,而不是一个。我的推断是,当JQuery解释它时,还需要一个\ there,而反斜杠会被JavaScript解析器压平

var e = $("#evt_SessionLinks\\[0\\]_Sessions\\[0\\]_TimeTables\\[0\\]_TimeWindows\\[0\\]_Finish");

我认为问题在于方括号,而不是选择器的长度。尝试用\来转义方括号

更新:根据,您需要两个,而不是一个。我的推断是,当JQuery解释它时,还需要一个\ there,而反斜杠会被JavaScript解析器压平

var e = $("#evt_SessionLinks\\[0\\]_Sessions\\[0\\]_TimeTables\\[0\\]_TimeWindows\\[0\\]_Finish");

选择器的[…]部分被解释为对元素属性的测试。这将使查询变成永远无法工作的东西


如果代码中确实有方括号,则需要删除方括号才能使用它。像Area01\u Section02\u Line03这样的ID并不少见。

选择器的[…]部分被解释为对元素属性的测试。这将使查询变成永远无法工作的东西


如果代码中确实有方括号,则需要删除方括号才能使用它。像Area01\u Section02\u Line03这样的id并不少见。

可能是因为它是一个无效的id

从:

ID和名称标记必须以字母[a-Za-z]开头,后面可以是任意数量的字母、数字[0-9]、连字符、下划线、冒号和句点


也许是因为它是一个无效的id

从:

ID和名称标记必须以字母[a-Za-z]开头,后面可以是任意数量的字母、数字[0-9]、连字符、下划线、冒号和句点


当然,谢谢。顺便说一句,要避开[],需要一个双反斜杠:“\\\”当然,谢谢。顺便说一句,要转义[],需要一个双反斜杠:“\\\”方括号是asp.net mvc框架内的默认模型绑定器映射到集合的要求,转义方括号确实可以正常工作。方括号是asp.net mvc框架内的默认模型绑定器映射到集合的要求,转义方括号确实可以正常工作。有趣的是,这是asp.net mvc默认模型绑定器AFAIK的指定方法。括号在FF/IE/Safari.Hmm中不会引起任何问题,这有点奇怪,但我想这并不奇怪。不管怎样,我都错了。很有趣,尽管这是asp.net mvc默认模型绑定器AFAIK的指定方法。括号在FF/IE/Safari.Hmm中不会引起任何问题,这有点奇怪,但我想这并不奇怪。不管怎么说,我都错了。