用于服务器端控制的jQuery Selector
$('#')
和$("[id$=lblName]")
什么$("[id$=lblName]")
?
$('#<%=lblName.ClientID%>')
将在ASP.Net中找到具有id
属性的元素,该属性由ClientID
属性提供。
$("[id$=lblName]")
将找到一个id
属性以lblName
结尾的lblName
,例如foo-lblName
。
$('#<%=lblName.ClientID%>')
– #是JQuery用于标识具有id的元素的Id 选择器 。
$("[id$=lblName]")
– 将选择id属性以lblName 结尾的所有元素
第一个( $('#<%=lblName.ClientID%>')
),id选择器,将按其ID查找元素。 这非常快,因为它将使用本机document.getElementById
第二个, 属性结束选择器 ,以不同的方式工作。 例如,在IE中,如果它以提供的值(或类似的东西)结束,它将获得每个元素的所有元素和测试ID。 那要慢得多。 在较新的浏览器中有querySelectorAll ,可能会用于通过该选择器查找元素,但我不确定它是否受到该函数的支持(嗯, 这里定义为vailid css3所以假设现代浏览器将支持结束querySelectorAll中的selector。
因此,总之,id选择器在任何情况下都应该更快,在旧浏览器的情况下要快得多。 同时,带有选择器的结尾允许您在不将其客户端ID传递给浏览器的情况下查找元素。
只是添加我今天所知道的, $('#<%=lblName.ClientID%>')
将只选择一个元素,但$("[id$=lblName]")
将选择多个元素,所以如果你有相同的id分配给多个元素,如果你想遍历所有这些,那么第一个案例将无法正常工作。
- Kendo Refresh(DropDownList.refresh())无效ERROR未定义
- jQueryvalidation:$ .data($(’form’),’validator’)。settings返回undefined
- 从位于更新面板外部的控件触发asp.net事件
- Jquery post和unobtrusive ajaxvalidation不工作mvc 4
- 有没有资源可以帮助将Prototype JavaScript转换为jQuery?
- 长轮询停止其他请求1或2分钟
- 在单选按钮列表中选择选项时更改图像
- Internet Explorer 10上的高图表渲染
- 将行添加到可编辑网格视图后,不显示Datepicker