我正在创建一个网页,其中包括几个可能包含id的html模板。因此,最终页面可能包含几个html元素,它们的id完全相同,而html不允许这样做。
尽管如此,我似乎仍然能够使用jquery上下文解决这个问题,比如:$(“id54”,template4),但是这在所有浏览器中都能正常工作,还是有些浏览器拒绝我使用多个id?
最佳答案
$(selector, context)
语法将始终只在给定上下文中搜索,因此只要您的id在该上下文中是唯一的,jquery就应该在所有浏览器中工作。
不过,正如您所意识到的,在模板中以这种方式使用id是不明智的。
由于不允许使用多个相同的id,因此没有说明如何处理它们。无法保证所有浏览器都将继续支持您正在编写的代码。不过,这段代码在当今所有主流浏览器上的表现都将如你所料。
解决方法是在模板引擎中使用类或逻辑来确保唯一的id,例如templateid-control-2-mybutton。