假设我有这样的标记:
<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'));
不行?
你可以使用以下任何一个 [从最快的开始]
$("#moo") > $("#foo #moo") > $("div#foo span#moo") > $("#foo span") > $("#foo > #moo")
实际上,$('#id', this); 会选择任何后代级别中的 #id,而不仅仅是直接子节点。请尝试使用以下代码:
$(this).children('#id');
或者$("#foo > #moo")
或者$("#foo > span")
moo
,而不是类。 - Felix Kling.children()
和 .find()
相似,但前者只向下遍历 DOM 子树一级。 - Kevinfind
选项来选择另一个元素中的元素。例如,在特定的div中查找具有id txtName的元素,可以使用以下方式。var name = $('#div1').find('#txtName').val();
为什么不直接使用以下代码:
$("#foo span")
或者$("#foo > span")
$('span', $('#foo'));
在我的机器上能正常工作 ;)
$($(elementA), 'tr#' + key + ' span')
对我来说无法工作(jQuery 1.10.2)。 - Cody$(document.getElementById('parentid')).find('div#' + divID + ' span.child');
以上代码可帮助您查询一个元素的子元素。
$('#moo')
? ;) 顺便说一下,这确实可行:http://jsfiddle.net/fkling/k5X2r/ - Felix Klingvar ele = $("div #foo")
,那么怎样才能从这里获取 "moo" 呢?(不能使用数组引用) - Worthy7