Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery不在类中查找_Javascript_Jquery_Html_Css_Parent Child - Fatal编程技术网

Javascript Jquery不在类中查找

Javascript Jquery不在类中查找,javascript,jquery,html,css,parent-child,Javascript,Jquery,Html,Css,Parent Child,我希望单击.parent(#HELLO)的.child没有另一个.parent,而不是(#HELLO) 在这种情况下,最后一个黄色。孩子 但我要让我所有的孩子都换衣服。我不能使用child()或.last(),因为我不知道它是否在last中 var div=$('#你好'); $(“按钮”)。单击(函数(){ div.find('.child').addClass('hurted').text('yourhatme!'); }); div{ 边框:1px实心#000; 填充:20px; 利润率

我希望单击
.parent(#HELLO)
的.child没有另一个.parent,而不是(#HELLO)

在这种情况下,最后一个黄色。孩子

但我要让我所有的孩子都换衣服。我不能使用
child()
.last()
,因为我不知道它是否在last中

var div=$('#你好');
$(“按钮”)。单击(函数(){
div.find('.child').addClass('hurted').text('yourhatme!');
});
div{
边框:1px实心#000;
填充:20px;
利润率:20px;
}
.家长{
背景:红色;
}
.孩子{
背景:黄色;
}
#你好{
宽度:80%;
}
.受伤{
背景:绿色;
}
一些没用的div.someusesdivs{
边界:0;
}

更伤害我
我是父母的孩子不要伤害我
我是父母的孩子不要伤害我
只有我应该换成绿色

要实现这一点,您可以使用
:not
选择器和
.parent>.child
排除相关元素。试试这个:

var div=$('#你好');
$(“按钮”)。单击(函数(){
div.find('.child:not(.parent>.child)).addClass('hurted').text('youhurtme!');
});
div{
边框:1px实心#000;
填充:20px;
利润率:20px;
}
.家长{
背景:红色;
}
.孩子{
背景:黄色;
}
#你好{
宽度:80%;
}
.受伤{
背景:绿色;
}
一些没用的div.someusesdivs{
边界:0;
}

更伤害我
我是父母的孩子不要伤害我
我是父母的孩子不要伤害我
只有我应该换成绿色

只要问问父div是否有类parent,我相信这是最具可读性和实用性的解决方案

var div=$('#你好');
$(“按钮”)。单击(函数(){
div.find('.child')。每个(函数(i){
if(!$(this.parent(“div”).hasClass(“parent”)$(this.addClass(“hurted”).text(“yourhatme!”);
});
});
div{
边框:1px实心#000;
填充:20px;
利润率:20px;
}
.家长{
背景:红色;
}
.孩子{
背景:黄色;
}
#你好{
宽度:80%;
}
.受伤{
背景:绿色;
}
一些没用的div.someusesdivs{
边界:0;
}

更伤害我
我是父母的孩子不要伤害我
我是父母的孩子不要伤害我
只有我应该换成绿色
您可以使用筛选集合的结果

在这里,我们使用ing
#HELLO
获取所有
.child
,然后使用
each()
循环检查父元素是否具有类
.parent
。如果没有,我们将添加类
。hurted

$(“按钮”)。打开(“单击”,函数(e){
$('#HELLO')。查找('.child')。每个(函数(索引,el){
变量$el=$(el);
if(!$el.parent().hasClass('parent')){
$el.addClass('hurted');
}
} );
} );
div{
边框:1px实心#000;
填充:20px;
利润率:20px;
}
.家长{
背景:红色;
}
.孩子{
背景:黄色;
}
#你好{
宽度:80%;
}
.受伤{
背景:绿色;
}
一些没用的div.someusesdivs{
边界:0;
}

更伤害我
我是父母的孩子不要伤害我
我是父母的孩子不要伤害我
只有我应该换成绿色

如果你想用简单的词
获得任何回答,最好删除你问题中的冒犯性文字。如果孩子的div与class=
”最接近,则不应更改它。除了“#hello”div本身之外,家长的div
。(另一方面,我无法与#hello(即id)核对,因为这只是为了解释)哦,好吧,删除了那个“冒犯性”的词。我不知道为什么这个解决方案中没有一个对我有效。即使他们是对的。我使用了这个
div.find('.child')。每个(函数(I){if(div.get(0)=$(this).最近(“.parent”).get(0)){$(this).addClass('hurted')。text('You hurth me!');};
这是一个非常令人不安的问题。为什么在
div.find('.child')时要编写一个过滤器呢{
也能正常工作?-你甚至没有使用过滤器返回需要更改的子对象,而不是个人。你滥用过滤器的副作用,在循环中设置类,而不是过滤,然后在返回的对象上设置类,这与我的回答相同-你的投票是为了奇怪的使用我不知道为什么非解决方案对我有效。即使他们是对的。我使用了这个
div.find('.child')。每个(函数(I){if(div.get(0)==$(this.nest(.parent”).get(0)){$(this.addClass('hurted')。text('You harth me!';})
我不知道为什么非解决方案对我有效。即使他们是对的。我使用了这个
div.find('.child')。每个(函数(I){if(div.get(0)==$(this.nest(.parent”).get(0)){$(this.addClass('hurted')。text('You hurth me!'})
我不知道为什么非解决方案对我有效。即使他们是对的。我使用了这个
div.find('.child')。每个(函数(I){if(div.get(0)==$(this.nest(.parent”).get(0)){$(this.addClass('hurted')。text('You hurth me!'})
这毫无意义。如果您运行我的代码段,它会工作-您必须有不同的设置posted@EdwardSnowden因此,您正在测试具有类parent的最近元素是否为top div,而不是测试您拥有的div是否没有具有类parent divparent@EdwardSnowden请查看要添加的更新您的方法不需要测试HTML字符串