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

时间:2014-10-25 18:36:48

标签: jquery class dynamic addclass

我想将一个类添加到属于刚刚单击的元素的元素中。班级改变但他们都以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/))

2 个答案:

答案 0 :(得分:2)

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

只需添加+''以强制它string即可使其正常运行:

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

Working fiddle

答案 1 :(得分:1)

$(".get-from-this").on("click", function() {

  var selectedOptionIcon = $("#add-to-this");
  selectedOptionIcon.addClass($(this).attr("class").match(/fa-[\w-]*\b/).toString());
});