有没有办法让这项工作:
$(this, '#foo')
我想要选择“this”元素和#bar。
为了选择让我们说两个ID,它就像'#foo, #bar'
一样简单,但当我希望其中一个成为“这个”时,我无法让它工作。
答案 0 :(得分:16)
$(this, '#foo')
以上行会在this
设置为id
的元素内搜索foo
,这不是您想要的。
您可以使用add()
:
var $el = $(this).add('#foo')
现在$el
将包含$(this)
&您可以在其上执行操作的$("#foo")
。
<强> add("selector")
强>
答案 1 :(得分:4)
您正在使用的方法存在的问题:
$(this, '#foo')
这是一个上下文感知选择,在this
元素中搜索#foo
(并且与$('#foo').find(this)
相同),这在jQuery中是有效的,尽管我是想象有点无意义(假设您已经引用this
(我假设,如果不是this
可能是window
)。
老实说,我不完全确定选择器为何“起作用”,除非给定this
节点jQuery简单地丢弃上下文,因为它已经“知道”this
节点是并有一个参考。
添加到选择中:
$(this).add('#foo');
或(相反):
$('#foo').add(this);
参考文献:
答案 2 :(得分:1)
您可能正在寻找的是
$('#foo', this)
它会在foo
$(this)
id对象