javascript - 每次单击后,jQuery 仅在下一个列表项之前添加,而不是一次添加所有列表项

标签 javascript jquery css html

简单地说,我的目标是让“下一个”按钮为上一个列表项添加一个事件类,然后如果事件类存在,也为该列表项添加一个 YES,而不是当前的所有列表项在我的代码中做。

目前,我的尝试是将 YES 添加到所有列表项,我只想在每次点击后将 YES 添加到之前的元素。

我的尝试在这里:

var $tabs = $('li');    

$('.next').on('click', function () {
    $tabs.next('li').addClass("active").css("background-color","yellow");

  if ($($tabs).next().hasClass("active")){
      $($tabs).prepend('YES').prev();
    } else {
        $($tabs).append('NO');
    }

});

代码可以在这里看到:

http://codepen.io/anon/pen/yrjvb

最佳答案

我不确定我是否理解正确,但这可能是您要找的:

var $tabs = $('li');
var count = 0;

$('.next').click(function () {
  var tab = $tabs.eq(count);   
  var link = tab.find('a[data-toggle="tab"]');
  link.addClass("active").css("background-color","yellow");

  if (link.hasClass("active")) {
    tab.prepend('YES');
    count++;
  } else {
    tab.append('NO');
  }
});

fork 代码笔:http://codepen.io/anon/pen/pnKAc?editors=101

基本上,您选择了所有 <li>元素。在我的代码中,我一个一个地选择一个元素。

当然有更好的方法(直接选择下一个元素等),但我想通过这段代码你可以看到有什么不同。

另外,你说你要添加,你的意思是“追加”吗?

关于javascript - 每次单击后,jQuery 仅在下一个列表项之前添加,而不是一次添加所有列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25415434/

相关文章:

javascript - 可以在 Android 和 iOS 设备上通过 Javascript 进行 TCP 或 WebSockets 调用吗?

javascript - 如何使用 react-router-dom V5 重定向登录页面

javascript - 在jquery中动态创建一个选择器并使用 'this'

javascript - 使用javascript的iframe问题

javascript更改css类,而不是 append 到它

php - 在不同页面中包含不同样式表的最佳方法是什么?

javascript - Phonegap 文件 API 未返回正确路径仅​​返回 '/'

javascript - 使用 REGEX 从字符串中提取信息?

javascript - Jquery:在解析 JSON 时添加到动态创建的 <li> 的 onclick 事件在单击时出错

Jquery:设置框架的宽度