在jQuery中,当你有两个.children()函数时会发生什么?

时间:2010-06-29 06:43:54

标签: javascript jquery jquery-plugins

在jQuery中,当你有两个.children()函数时会发生什么?

 var area = image.canvas.children('.image-pinpoint-edit').children('.image-pinpoint-edit-area');

这是多余的吗?你不能只是image.canvas.children('image-pinpoint-edit-area')去找内心的孩子吗?

3 个答案:

答案 0 :(得分:2)

var area = image.canvas.children('.image-pinpoint-edit').children('.image-pinpoint-edit-area');

这不是多余的......

你得到了孩子们的孩子......

1级< --- image.canvas
2级< ----- .children('.image-pinpoint-edit')
3级< ----- .children('.image-pinpoint-edit-area').children('.image-pinpoint-edit-area')

如果您希望找到'image-pinpoint-edit-area'

使用.find()

image.canvas.find('.image-pinpoint-edit-area');    
// this this will search all its children, grand children, grand grand children, etc...

答案 1 :(得分:0)

您可以使用image.canvas.find('image-pinpoint-edit-area') - 这将查找与给定选择器匹配的close元素(无论它存在于哪个级别),.children仅查找 direct 给定选择者的孩子。

编辑: 你通过.children()。children()这样做的方法也很好,我不确定什么是更快的(.children()。children()或.find())但是你的代码应该可以工作!

答案 2 :(得分:0)

它是possible for humans to do this,但DOM元素不能同时是给定元素的父元素和祖父元素。