javascript - 如何从 JavaScript/jQuery 重新呈现页面?

标签 javascript jquery render swap

我不太确定这是否是正确的表达方式,但这里是 my problem

如您所见,非常简单的代码:

<div class="first"></div>
<div></div>

我想实现的是:

  1. 您单击具有第一个 类的div,它会将该类与同级元素交换
  2. 您单击同级元素,它会将其换回,因此您只需围绕 2 个元素交换类

这里的问题是它只有第一次正确工作,第二次当新元素通过 addClass 接收类时,jQuery 无法识别它包含第一页的类加载?我该如何解决这个问题?

P.S: 我制作了一个 console.log(111); 只是为了确保,并且确实只有当我点击第一个之后的黑色 div 时它才会触发交换(不应该再有 first 类的那个)

最佳答案

要实现此行为,您可以使用委托(delegate)事件 http://api.jquery.com/delegate/在元素包装器上;

$(document).delegate('.first', 'click', function(e){
    e.preventDefault();
    console.log(123);
    $(this).removeClass('first');
   $(this).siblings().addClass('first');
})

关于javascript - 如何从 JavaScript/jQuery 重新呈现页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39420611/

相关文章:

javascript - 使用 JavaScript Image 对象更改 <img/> 图片

使用 equalTo 的 jQuery 验证问题

reactjs - React SetState 不调用 render

javascript - 如何使用变量自动运行外部 JavaScript 函数?

javascript - 使用 $ajax 对象重新运行 ajax 调用?

javascript - 如何为 Redux ORM 构建模型

JavaScript var = int ||整数?

javascript - 使用Python解析decodeURIComponent JSON字符串

reactjs - React 组件未使用 useEffects 重新渲染

ios - 导航 Controller subview 中的导航栏初始化到错误的位置(即使它自行修复)