jQuery this 子选择器?

7

嘿,快速问题,我在网上找不到任何信息。我有一个父div和一个子div在其中。要使用CSS选择它,您可以这样说:

#parent .child {}

在jquery中,我有一个变量表示我的父元素,但是如何使用它选择子元素呢? 我知道创建一个新变量很容易,只是好奇是否可能利用现有的变量来选择子元素?
var Parent = $('#parent');

Parent.click(function() {
$(this > '.child').hide();

谢谢你


请注意,选择器E F不仅匹配子元素,而且匹配E任何后代元素。对于子元素,请使用E > F - Gumbo
5个回答

22

正确的语法是:

$(".child", this)

如果你只想要直接的子元素:

$("> .child", this)

(感谢Gumbo提供的信息)

更新,两年后

你可以使用$(this).find('> .child')


6
您可以直接调用.find()方法:
var Parent = $('#parent');

Parent.click(function() {
    $(this).find('.child').hide();
});

如果您只想选择直接子元素,请使用.children()方法:
Parent.click(function() {
    $(this).children('.child').hide();
});

通常人们使用以下的语法:

$('.child', this);

同样地,对我来说这不是很方便,因为你以某种方式写了一个“相反的”顺序。无论如何,这个语法在内部被转换成一个.find()语句,因此你实际上节省了一次调用。

参考: .find(), .children()


1

试试这段代码:

  $("#parent").click(function () {
               $(this).next().hide();
});

1
var Parent = $('#parent');

Parent.click(function () {
    $(".child", this).hide();
});

或者

$("#parent").click(function () {
    $(".child", this).hide();
});

1
你可以找到父元素的子元素并应用 CSS 样式。
以下是示例代码。
var Parent = $('#parent');

Parent.click(function() {
$(this).find('.child').hide();});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接