Javascript jQuery-“jQuery;参数分析器";上课

Javascript jQuery-“jQuery;参数分析器";上课,javascript,jquery,html,css,class,Javascript,Jquery,Html,Css,Class,我试图通过应用于这些插件所连接的元素的类来配置jQuery插件 例如: <div class="move amt-10 dir-left"> ... </div> 它适用于这种特殊情况,但由于我也在为其他插件做这项工作,我想知道如何为通过类传递的这类选项创建某种“解析器”,这样我就可以编写更少的代码:)您的示例使用和HTML5 data-*属性进行重构 <div class="move" data-amt="10" data-dir="left"></

我试图通过应用于这些插件所连接的元素的类来配置jQuery插件

例如:

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

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

您的示例使用和HTML5 data-*属性进行重构

<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
});

$('.move')。每个(函数(){
var金额=$(此).data('amt');
变量方向=$(this.data('dir');
//根据数量/方向变量在此处执行操作
});

另一个很好的选择是jquery元数据插件:


这是否必须与现有的第三方代码一起使用,因此您必须使用class属性?因为看起来您正在滥用类来实现
数据
:不,我只是喜欢您可以从html控制插件的事实。这是个坏主意吗?使用
jQuery.data
您可以访问HTML5
data-
属性,请查看上面链接的文档中提供的示例。在您的用例中,它可能是
//作为下面的答案发布的,这就是使用jQuery的要点:)您应该自己测试它,但我看不出为什么跨浏览器框架功能不能在所有浏览器中工作。
<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
});