我想向属于刚刚单击的元素的元素添加一个类。类(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/)+'' );
关于jQuery:动态添加属于另一个元素的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26565851/