日期:2014-05-16  浏览次数:20453 次

请问jquery里的$("[id$=**]")是如何实现的?
例如一个页面里使用了母板,页面有一个id为test的控件,当生成到html时候,页面的id就会变成*****_test这样的形式

jquery里必须通过$("[id$=test]")这样的方法获取元素,而不能用$("#test")


$("#test")是通过调用js的document.getelementbyid()方法实现的

那$("[id$=test]")呢?

谢谢

------解决方案--------------------
$("[id$=test]"):选取所有 id 值以 "test" 结尾的元素。
------解决方案--------------------
如果你用的是.NET控件的话,有一个属性可以获得客户端ID的,ClientID
------解决方案--------------------
应该是用正则匹配的 。
------解决方案--------------------
如果浏览器支持querySelectorAll()的话,则用querySelectorAll("[id$=test]")来查找,如果不支持,刚遍历所有元素,取得所有包含id属性且以test结尾的元素集合,和class选择器有点类似
------解决方案--------------------
探讨

引用:

如果浏览器支持querySelectorAll()的话,则用querySelectorAll("[id$=test]")来查找,如果不支持,刚遍历所有元素,取得所有包含id属性且以test结尾的元素集合,和class选择器有点类似


这样的话$("[id$=test]")就会比$("#test")效率要低咯,是吗