jQuery类似于addClass的功能在不同的属性上

时间:2013-06-18 15:18:23

标签: jquery html dom

我想知道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。也许名声高于我的人可以添加标签'空格分隔值',我认为它可能是一个有用的标签。谢谢。

1 个答案:

答案 0 :(得分:0)

jQuery提供了一个data()函数,使您可以访问元素上定义的所有data-*,所以你可以这样做:

//set value
$('input').data('validation','date future_date');

//get values
var validations = $('input').data('validation');