jQuery:动态添加属于另一个元素的类

标签 jquery class dynamic addclass

我想向属于刚刚单击的元素的元素添加一个类。类(class)发生了变化,但都是以 fa- 开头。

所以我想动态获取刚刚单击的元素的类,并将其添加到不同的元素中。我尝试过这个,但由于某些奇怪的原因它不起作用。

$(".fa").on("click", function() {

    var Icon = $(".icon");

    Icon.addClass($(this).attr("class").match(/fa-[\w-]*\b/));

});

我什至提醒过它,以确保它能上课,而且确实如此。

alert($(this).attr("class").match(/fa-[\w-]*\b/))

最佳答案

match() 返回一个 String 对象,而不是原始 string;它需要添加这些额外的属性。 jQuery 似乎不喜欢 String 对象;也许它通过 typeof ... == 'string' 进行测试,对于 String 对象返回 false。

只需添加 +'' 即可将其强制转换为 string 即可正常工作:

 selectedOptionIcon.addClass( $(this).attr("class").match(/fa-[\w-]*\b/)+'' );

Working fiddle .

关于jQuery:动态添加属于另一个元素的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26565851/

相关文章:

c# - 在 ASP.NET 中添加动态控件

jquery - 格式 : "{0:n0}" is not working if I use rowTemplate in kendoGrid

javascript - 拖动过程中旋转矩形 D3

python - 如何从 Python 中的名称和类列表实例化许多不同的类

python - 从字典创建类实例?

带有新元素的 javascript 函数 onclick

javascript - Ajax请求总是出错

javascript - 停止在 JSTree 中的 Ajax 加载/延迟加载中加载节点

java - c类是否实现接口(interface)<String>

c# - 具有多个/未知条件的动态 linq 查询