1
我无法在已创建的线程中找到答案。相当于在ASP.NET和jQuery中定位服务器控件
$("#<%=txtRating.ClientID%>").val("Set the value");
$(<%=txtRating.ClientID%>).val("Set the value");
?两者都工作得很好,所以有什么区别?谢谢。
我无法在已创建的线程中找到答案。相当于在ASP.NET和jQuery中定位服务器控件
$("#<%=txtRating.ClientID%>").val("Set the value");
$(<%=txtRating.ClientID%>).val("Set the value");
?两者都工作得很好,所以有什么区别?谢谢。
两者都可以工作,因为浏览器会自动为每个标签ID创建一个变量,以遵循HTML5标准。见http://2ality.com/2012/08/ids-are-global.html
您的代码:
$(<%=txtRating.ClientID%>).val("Set the value");
$("#<%=txtRating.ClientID%>").val("Set the value2");
呈现此Javascript生成的HTML页面:
$(txtRating).val("Set the value");
$("#txtRating").val("Set the value2");
的第一个作品,因为:
的HTML5标准规定,窗口对象必须具有一个属性键,如果只有一个DOM元素elem,其值为elem属性ID具有值键。
例如,假设此HTML:
<div id="foo"></div>
您可以通过使用id作为变量获取HTML标签。因此$(foo)返回该标签的jQuery对象。与$('#foo')相同,它也返回相同标记的jQuery对象。
> "foo" in window
true
> foo
<div id="foo"></div>
> $(foo)
Object [ <div#foo> ]
> $('#foo')
Object [ <div#foo> ]