Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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在CSS中实现自动应用于DOM中新元素的父选择器_Javascript_Jquery_Html_Css_Parent - Fatal编程技术网

Javascript 使用jQuery在CSS中实现自动应用于DOM中新元素的父选择器

Javascript 使用jQuery在CSS中实现自动应用于DOM中新元素的父选择器,javascript,jquery,html,css,parent,Javascript,Jquery,Html,Css,Parent,CSS不支持父选择器,例如“选择所有包含的” 提出的一种解决方案是使用jQuery,例如: $('child:has('child')).addClass('my-special-class') 但是,我有一个定期更新新内容的,我需要不断地将我的特殊类重新应用到与选择器匹配的新元素中 一个人怎么能这样做 我正在设计一个第三方插件的样式,因此我对它的样式、事件等没有太多控制权。一个解决方案是在container div上绑定domsubtreemedited事件,并在其中添加代码 $('.cont

CSS不支持父选择器,例如“选择所有包含

提出的一种解决方案是使用jQuery,例如:

$('child:has('child')).addClass('my-special-class')

但是,我有一个定期更新新内容的
,我需要不断地将
我的特殊类
重新应用到与选择器
匹配的新元素中

一个人怎么能这样做


我正在设计一个第三方插件的样式,因此我对它的样式、事件等没有太多控制权。

一个解决方案是在container div上绑定
domsubtreemedited
事件,并在其中添加代码

$('.container').on("DOMSubtreeModified",function(){
    $('.parent:has(.child)').addClass('special-child');
});
//查找元素
var parent=$(“#parent”)
变量按钮=$(“按钮”)
//句柄单击并添加类
按钮。打开(“单击”,函数(){
const el='

你好,世界

; 父母。在(el)之后; }) $(函数(){ $('.parent:has(.child).).addClass('special-child'); $('.continer')。在(“domsubtereemodified”,function()上{ $('.parent:has(.child).).addClass('special-child'); }); })
正文{
背景:#20262E;
填充:20px;
字体系列:Helvetica;
}
.孩子{
背景:#fff;
边界半径:4px;
填充:10px;
字体大小:25px;
文本对齐:居中;
过渡:均为0.2s;
利润率:4倍汽车;
宽度:300px;
}
钮扣{
背景:#0084ff;
边界:无;
边界半径:5px;
填充:8px 14px;
字体大小:15px;
颜色:#fff;
}
.特殊儿童{
颜色:红色;
}

你好,世界


添加子项
一种解决方案是在container div上绑定
domsubtreemedited
事件,并在其中添加代码

$('.container').on("DOMSubtreeModified",function(){
    $('.parent:has(.child)').addClass('special-child');
});
//查找元素
var parent=$(“#parent”)
变量按钮=$(“按钮”)
//句柄单击并添加类
按钮。打开(“单击”,函数(){
const el='

你好,世界

; 父母。在(el)之后; }) $(函数(){ $('.parent:has(.child).).addClass('special-child'); $('.continer')。在(“domsubtereemodified”,function()上{ $('.parent:has(.child).).addClass('special-child'); }); })
正文{
背景:#20262E;
填充:20px;
字体系列:Helvetica;
}
.孩子{
背景:#fff;
边界半径:4px;
填充:10px;
字体大小:25px;
文本对齐:居中;
过渡:均为0.2s;
利润率:4倍汽车;
宽度:300px;
}
钮扣{
背景:#0084ff;
边界:无;
边界半径:5px;
填充:8px 14px;
字体大小:15px;
颜色:#fff;
}
.特殊儿童{
颜色:红色;
}

你好,世界


添加子项
如果您添加以下jquery和一个类,它的工作方式类似于

$("div.my-div").click(function(){
    $(this).addClass("visited");
});
只需在css中添加一个类:

.visited:hover{
  outline: 2px solid orange;
}
如果将此代码与您的当前代码一起添加,您将获得与
:visted
相同的功能

这是我在你的代码上试过的一把小提琴:


如果添加以下jquery和一个类,它的工作方式类似于
:visted

$("div.my-div").click(function(){
    $(this).addClass("visited");
});
只需在css中添加一个类:

.visited:hover{
  outline: 2px solid orange;
}
如果将此代码与您的当前代码一起添加,您将获得与
:visted
相同的功能

这是我在你的代码上试过的一把小提琴:


为什么不将css类用于具有直接子对象的父对象,即包含img的所需父对象?我的意思是.wrapper>.parentimg这不是父选择器的问题,而是因为jQuery选择的性质通常不是活动的。也就是说,不管你使用什么选择器,你都会遇到这个问题。@JohuderGonzalez我不知道怎么做。假设您有两个
元素:
div>p>img
div>p>span
。如何设计第一个
p
而不是第二个
p
的样式?为什么不将css类用于包含img的直接子级的父级?我的意思是.wrapper>.parentimg这不是父选择器的问题,而是因为jQuery选择的性质通常不是活动的。也就是说,不管你使用什么选择器,你都会遇到这个问题。@JohuderGonzalez我不知道怎么做。假设您有两个
元素:
div>p>img
div>p>span
。如何设计第一个
p
而不是第二个
p
domsubtreeded
已被弃用,取而代之的是突变观察者API。使用DOMSubtreeModified会在第二次调用后导致Internet Explorer中出现无限循环。其他浏览器工作正常。
domsubtreedined
已被弃用,取而代之的是突变观察者API。使用DOMSubtreeModified会在第二次调用后导致Internet Explorer中出现无限循环。其他浏览器工作正常。