我想知道jQuery中是否有一个更通用的函数,它的作用类似于addClass(),但是与dom className属性不同。
我有一个存储验证规则标签的数据字段,如下所示:
<input data-validation="required number positive">,
每个标签指定不同类型的验证。我希望能够像这样修改验证标签:
$('input').addToken('data-validation', 'date future_date'); // two rules added here
或
$('input').removeToken('data-validation', 'required');
到目前为止,我最好的解决方案是将$ .fn._addClass复制到一个新函数中,但是,如果可能的话,我不想重新发明轮子。
在类似的方向上,据我所知,CSS2有一个特殊的属性选择器,可以在任何属性上处理这种空格分隔的值,而不仅仅是className:
E [foo~ =“warning”]匹配“foo”属性值为的任何E元素 空格分隔值列表,其中一个值完全相等 “警告”。
PS。也许名声高于我的人可以添加标签'空格分隔值',我认为它可能是一个有用的标签。谢谢。
答案 0 :(得分:0)
jQuery提供了一个data()
函数,使您可以访问元素上定义的所有data-*
,所以你可以这样做:
//set value
$('input').data('validation','date future_date');
//get values
var validations = $('input').data('validation');