我想创建一个通用/可扩展的类,它能够接受无或多个变量并对其进行处理。我想学习如何检查哪个字段存在,字段数通过并用它做一些事情。 'fruitstall'类可以接受0或多个水果变量。
HTML:
<div class="fruitstall(apple,orange)"></div>
脚本:
$('.fruitstall').click(function(event){
if (get first variable value and check if it is an apple) {
//Show apple image
} elseif (get the next variable value and check if it is an orange) {
//Show orange image
}
alert('Number of fruit chosen are ' + (count number of variable passed to class) + ' ; ' fruit(index0) + fruit(index1));
});
请原谅我的水果摊例子,我觉得用更生动的方法提问是很有意思的。 :)
非常感谢。
答案 0 :(得分:3)
您可以分配多个课程:
<div class="apple orange" id="divId"></div>
然后像这样对它们进行拆分:
var classList =$('#divId').attr('class').split(/\s+/);
$.each( classList, function(index, item){
if (item=='someClass') {
//do something
}
});
答案 1 :(得分:3)
另一种方法可能是使用HTML5数据属性:
<div class="fruitstall" data-fruits="apple,orange"></div>
然后你的JS代码可以去:
var fruits = $(this).data('fruits').split(',');
这将得到一个停止所有水果的数组。
答案 2 :(得分:1)
我不知道这是否可行,但是如果你准备将String类作为JSON类,你可以使用eval()来获取一个可以枚举参数的对象
function prepareAsJSON(className){
var JSON = "{list:function" + className + "{return arguments}}"
return JSON
}
var className = $("div").attr('class');
var st = prepareAsJSON(className);
var obj = eval(st)
obj.list() //should return arguments as an array
我绝不会在生产代码中这样做,但这很有趣
干杯
Grooveek