问题
有没有办法根据前缀使用JQuery和Wildcards分割每个类?
编辑:在我的情况下,我想用rel而不是class来分割元素。
的背景
现在我只是为每个fancybox组生成一个单独的代码块,这是一个非常大的黑客,但它的工作原理。我想从php类中提取这些代码并将其放在html视图中,并且只编写一次而不是为每个example_group创建一个新块。我确信有一种方法,但是现在我被我的临时黑客困住了。
当前代码
(function($) {//use jquery each
$("a[rel=example_group$group]").fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none',
'titlePosition' : 'over',
'cyclic' : true,
'titleFormat' : function(title, currentArray, currentIndex, currentOpts) {
return 'Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' ' + title : '') + '';
}
});
})(jQuery);
解
(function($) {
$("a[rel^=example_group").fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none',
'titlePosition' : 'over',
'cyclic' : true,
'titleFormat' : function(title, currentArray, currentIndex, currentOpts) {
return 'Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' ' + title : '') + '';
}
});
})(jQuery);
答案 0 :(得分:4)
$('a[rel^="example_group"]');
这将定位其rel值以“example_group”开头的任何锚点。这意味着,它将针对以下所有方面:
<a ... rel="example_group1">Group 1</a>
<a ... rel="example_group2">Group 2</a>
<a ... rel="example_group_ponies">Ponies!</a>
有关详细信息,请查看Attribute Starts With Selector。
答案 1 :(得分:1)
之前完成过很多次。那就是如果我得到了正确的问题:)
我倾向于做这样的事情就是你将它循环出来的地方你在元素中添加一个类或id。比如你有一个滑块。然后对于控件,典型的html可能如下所示:
<ul class="controls">
<li class="control control-1" rel="1"></li>
<li class="control control-2" rel="2"></li>
</ul>
这对我来说至少是典型的。所以,假设你要为每一个控制做一些事情。这很容易:
$('ul.controls li.control').each(function () {
console.log($(this).attr('rel'));
});
所以你要做的就是通过另外一个描述当前组的类来对它们进行分组。然后你有另一个带有“-idhere”的类,所以你可以直接定位它,最后使用rel来定位它。
-
不太确定我的问题是对的。但是留下评论,如果我不知道我是否有解决方案:)