如何将jQuery选择器与this关键字组合使用?
正确合并两行jQuery代码的方法
你原来尝试的$("#thing1, #thing2", this)写法确实会变成在this的子元素范围内查找#thing1和#thing2,这和你要实现的「同时操作#thing1、#thing2以及this指向的元素」不是一回事。
要把这两行代码合并成一行,有两种简洁的实现方式:
方法1:使用.add()方法
.add()方法可以把新的DOM元素或jQuery对象添加到已有的jQuery集合中,刚好适配你的场景:
$("#thing1, #thing2").add(this).toggleClass('myClass');
方法2:拼接选择器字符串(适用于this元素有明确选择器的场景)
如果this指向的元素有id、class或其他可被选择器定位的标识,也可以直接把它的选择器和前两个放在同一组选择器里:
$("#thing1, #thing2, #current-element-id").toggleClass('myClass');
但如果this是事件触发时动态获取的当前元素,第一种方法的通用性更强。
内容的提问来源于stack exchange,提问作者Uuuuuumm
相关产品推荐
相关产品推荐

