jQuery - 类的“参数解析器”

时间:2011-04-26 15:03:32

标签: javascript jquery html css class

我正在尝试通过应用于附加这些插件的元素的类来配置jQuery插件。

例如:

<div class="move amt-10 dir-left">
...
</div>

和js:

$('.move').each(function(){
  var classes = $(this).attr('class');

  // this is from: http://stackoverflow.com/questions/3955345/javascript-jquery-get-number-from-string
  var amount = parseInt(/amt-(\d+)/.exec(classes)[1], 10);
  var direction = /dir-([^\s]+)/.exec(classes)[1];
  // do stuff here based on amount/direction variables
});

它适用于这种特殊情况,但由于我也在为其他插件执行此操作,我想知道如何为通过类传递的这种选项创建某种“解析器”,因此我可以编写更少的代码: )

2 个答案:

答案 0 :(得分:1)

您的示例使用jQuery.data和HTML5 data- * attributes

重构
<div class="move" data-amt="10" data-dir="left"></div>

$('.move').each(function(){
  var amount = $(this).data('amt');
  var direction = $(this).data('dir');
  // do stuff here based on amount/direction variables
});

答案 1 :(得分:1)

这类事情的另一个好选择是jquery元数据插件:

http://plugins.jquery.com/project/metadata