所以我有一个列表,看起来像这样:
<ul class="clearfix alignleft">
<li id="cat-1"><a href="#All">All</a></li>
<li id="cat-5"><a href="#Mobile">Mobile</a></li>
<li id="cat-4"><a href="#Webdesign">Webdesign</a></li>
</ul>因此,当用户单击mobile时,我获取属性href,并对'#'进行切片,但在此之后,当用户单击webdesign时,假设我需要创建一个类似.Mobile,.Webdesign的字符串,因此我必须将其添加到字符串中……当用户单击锚点时,我添加了一个.clicked类
有没有人认为这是可能的?
发布于 2012-05-15 03:22:07
尝试如下所示,
标记
<ul class="clearfix alignleft" id="trackClick"> <!-- added trackClick -->
<li id="cat-1"><a href="#All">All</a></li>
<li id="cat-5"><a href="#Mobile">Mobile</a></li>
<li id="cat-4"><a href="#Webdesign">Webdesign</a></li>
</ul>JS:
var tracker = [];
$('#trackClick').find('a').click( function () {
tracker.push($(this).attr('href').replace('#', '.'));
//or tracker.push('.' + $(this).attr('href').substring(1));
});
console.log(tracker); // will print clicked href .Mobile,.Webdesign发布于 2012-05-15 03:22:55
var classStr = '';
$('ul a').on('click', function(e) {
e.preventDefault();
classStr += (classStr.length > 0 ? ', ' : '') + this.href.replace('#', '.');
});你可以把它放在一个数组中,@vega也会显示:
var classStr = [];
$('ul a').on('click', function(e) {
e.preventDefault();
// $.unique() to make sure that no multiple instance of href
$.unique(classStr.push(this.href.replace('#', '.')));
});
console.log(classStr.join(', '));https://stackoverflow.com/questions/10589712
复制相似问题