在运行时在 jQuery 中添加类并选择新类

Posted

技术标签:

【中文标题】在运行时在 jQuery 中添加类并选择新类【英文标题】:AddClass in jQuery on runttime and select the new class 【发布时间】:2015-05-16 13:46:28 【问题描述】:

我想在运行时将一个类添加到 div 标签中(点击标签后),然后通过新的类名选择 div 标签。

这是我的代码:

html

<div class="black" id="" style="">
  black
</div>

CSS

.black
  color:black;


.green
  color:green;

jQuery 应该删除类“black”并添加类“green”。单击 div 标签后,字体颜色变为绿色并出现一个 p 标签 - 因此,添加了新类。jQuery

$(".black").on("click",function()
  $(this).removeClass("black");
  $(this).addClass("green");
  $(this).append("<p>Green</p>");
);

$(".green").on("click",function()
  alert("green");
);

现在第二个 jQuery 函数会在单击 div 标签时触发寻找新添加的绿色类,但这不会发生。 没有显示函数 2 的警报,而是添加了一个新的 p 标签(在函数 1 之后)。

有人知道要改变什么吗?

谢谢

到期

【问题讨论】:

【参考方案1】:

第二个没有触发的原因是,当您设置事件处理程序时,没有类green 的元素。要解决此问题,请将您的第二个处理程序更改为:

$("body").on("click", ".green", function()
    alert("green");
);

这会将处理程序添加到主体,但仅当事件目标具有类 green 时才会触发它,这实际上是您想要的。

【讨论】:

以上是关于在运行时在 jQuery 中添加类并选择新类的主要内容,如果未能解决你的问题,请参考以下文章

在运行时添加具有新协议的新类获得不同的行为

选中复选框时在表中添加 Textfieds 使用 Jquery

在 XCode 5 中构建时在 XCode 项目中运行 bash 文件

Jquery 类选择器无法选择使用 .append() 添加的新类实例

在jQuery中,在鼠标悬停时添加类并在鼠标悬停时将其删除的最佳方法是啥?

我可以在运行时在 netbeans 的 jframe 中添加一个组件吗?