首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过多次点击创建字符串

通过多次点击创建字符串
EN

Stack Overflow用户
提问于 2012-05-15 03:18:58
回答 2查看 63关注 0票数 2

所以我有一个列表,看起来像这样:

代码语言:javascript
复制
<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

有没有人认为这是可能的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-15 03:22:07

尝试如下所示,

标记

代码语言:javascript
复制
<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:

代码语言:javascript
复制
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
票数 3
EN

Stack Overflow用户

发布于 2012-05-15 03:22:55

代码语言:javascript
复制
var classStr = '';
$('ul a').on('click', function(e) {
  e.preventDefault();
  classStr += (classStr.length > 0 ? ', ' : '') + this.href.replace('#', '.');
});

你可以把它放在一个数组中,@vega也会显示:

代码语言:javascript
复制
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(', '));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10589712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档