这是我在stackoverflow上的第一篇文章!我是前端 Web 开发者爱好者和新手……如果我违反了 stackoverflow 礼仪或交通规则,请告诉我或给我一记重击……
我正在尝试评估元素数组中的类名。如果类名包含某个值,那么我想操作该元素的属性。
首先,我使用存储为变量的 jquery 创建一个元素数组:
请注意,按钮类命名约定是“share_button_[社交媒体服务名称]”
接下来,我创建一个 for 循环来遍历按钮变量
在 for 循环中,我有 switch 语句 - 目的是评估 Buttons 数组中的每个元素,如果满足特定条件,则向元素添加 href 属性
把它们放在一起:
var buttons = $('a[class^="share_button"]');
for (i=0; i < buttons.length; i++) {
switch (true) {
case ($(buttons[i]).attr('[class*="twitter"]')):
console.log('twitter!');
break;
case ($(buttons[i]).attr('[class*="linkedin"]')):
console.log('linkedin!');
break;
case ($(buttons[i]).attr('[class*="facebook"]')):
console.log('facebook_like!');
break;
case ($(buttons[i]).attr('[class*="google_plusone"]')):
console.log('google_plusone!');
break;
case ($(buttons[i]).attr('[class*="reddit"]')):
console.log('reddit!');
break;
}
}
这似乎根本不起作用。这是代码笔,http: //cdpn.io/fKoak
循环遍历像这样的元素的 jquery 数组是一种好习惯吗?
在这种情况下我应该使用 switch 语句并且我是否正确使用它?(有更多可能的情况,然后我有 case 语句并且我没有默认值 - 我希望没有匹配的情况来“注意”)
在这种特殊情况下,我的代码形成没有发生预期的结果有什么问题?