我想将一个类添加到属于刚刚单击的元素的元素中。班级改变但他们都以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/))
答案 0 :(得分:2)
match()
会返回String
个对象,而不是原始string
;它需要为了添加这些额外的属性。 jQuery似乎不喜欢String
个对象;也许它通过typeof ... == 'string'
进行测试,对String
对象返回false。
只需添加+''
以强制它string
即可使其正常运行:
selectedOptionIcon.addClass( $(this).attr("class").match(/fa-[\w-]*\b/)+'' );
答案 1 :(得分:1)
$(".get-from-this").on("click", function() {
var selectedOptionIcon = $("#add-to-this");
selectedOptionIcon.addClass($(this).attr("class").match(/fa-[\w-]*\b/).toString());
});