为什么jQuery中没有$('。someSelector')。id()方法?

时间:2010-04-07 23:11:37

标签: jquery

我想知道是否有人知道为什么jQuery没有简单的$().id()方法。使用$().attr('id')来提取ID似乎很愚蠢。我认为id属性很常见且足够有用,可以自己调用。

3 个答案:

答案 0 :(得分:8)

为什么用超级函数来混淆命名空间?你已经说attr()只能在几个额外的字符中做同样的事情。对于每个额外的函数,它会为文件大小添加字节,并为JavaScript解析器添加时间。

答案 1 :(得分:7)

另一个问题是jQuery返回一个匹配的集合,所以通常你可以拥有多个id。通过实现Id函数,您可以通过返回集合中第一个项的id来打破可链接性。

你可以简单地使用$('selector')。get(0).id;

答案 2 :(得分:1)

我认为如果你真的想要并且需要这个功能来节省时间,我会把它添加为一个新方法。有点像:

$.fn.extend({
    id: function(){return this.attr('id');}
});
$('.test').id();

但我会回应詹姆斯·韦斯特盖特所说的同样的担忧,如果你在集合中有多个回报,你需要确保你正确处理它,否则你可能会破坏它。