如何将“this”与第一个孩子的选择器结合起来?

如何将“this”与第一个孩子的选择器结合起来?

问题描述:

我想结合“这个”与div:第一个孩子,以获得一个隐藏的div,构成一个锚标记的主体的html值。这项工作应该如何?如何将“this”与第一个孩子的选择器结合起来?

$('a').click(function(){ 
    $(this + "div:first-child").html(); 
} 

尝试了这一点:

$('a').click(function(){ 
    $("div:first-child", this).html(); 
} 

它选择链接

使用

$(this).children("div:first-child").html(); 

要访问的锚链接元素中的子元素。

+0

@Tom你怎么知道它是一个“子元素”? – Neal 2011-04-29 17:10:47

+0

好点,假设它会,你的解决方案更优雅。 – 2011-04-29 17:11:59

+0

@你知道当你假设会发生什么吗? – Neal 2011-04-29 17:13:42

$('a').click(function(){ 
    $("div:first-child", this).html(); 
} 

值得指出的内部"div:first-child"的HTML,第一,一个div是一个块级元素,因此在内联元素内无效(例如a)。这就是说,它可能是值得修改您的选择:

$('a').click(function(){ 
    $(this).find("div:first-child").html(); 
} 

或者:

$('a').click(function(){ 
    $(this).find("div:hidden").html(); 
} 

我没有改变你的元素从divspan,但我强烈建议你应该。顺便说一句,使用上下文选择器($('div:first-child',this))在内部调用find(),将其转换为:$(this).find('div:first-child')

参考文献:

+0

有意思。感谢您的教训。我会改变他们的跨度。 – coder 2011-04-29 17:46:50