假设我有这样的标记:
<div id="foo">
...
<span id="moo">
...
</span>
...
</div>
我想选择#moo
为什么$('#foo').find('span')
有效,但是$('span', $('#foo'));
不有效?
假设我有这样的标记:
<div id="foo">
...
<span id="moo">
...
</span>
...
</div>
我想选择#moo
为什么$('#foo').find('span')
有效,但是$('span', $('#foo'));
不有效?
var ele = $("div #foo")
如何从此处开始moo(不使用数组引用)开始
Answers:
实际上,$('#id',this); 会在任何后代级别选择#id,而不仅仅是直接子级。尝试以下方法:
$(this).children('#id');
要么
$("#foo > #moo")
要么
$("#foo > span")
moo
而不是类。
.children()
和.find()
有不同之处在于前者的旅行只有一个级别向下DOM子树相似。
您可以使用find
option选择另一个元素。例如,要在特定div中查找ID为txtName的元素,可以使用like
var name = $('#div1').find('#txtName').val();
两者似乎都在工作。
参见小提琴:http : //jsfiddle.net/maniator/PSxkS/
$('#moo')
呢?;)顺便说一句。它确实起作用:jsfiddle.net/fkling/k5X2r