jQuery.expr[':'].data = function(elem,index,m) {
//从匹配的元素中删除":data(" and the trailing ")",因为这些部分不必要:
m[0] = m[0].replace(/:data\(|\)$/g,'');
var regex = new RegExp('([\'"]?)((?:\\\\\\1|.)+?)\\1(,|$)','g'),
//读取数据键值:
key = regex.exec(m[0])[2],
//读取测试的数据值:
val = regex.exec(m[0]);
if(val) {
val = val[2];
}
//如果传递了一个值,对其进行测试;否则,测试键值是否为真:
return val ? jQuery(elem).data(key) == val : !!jQuery(elem).data(key);
};
这不是写着注释呢