Javascript 使用jQuery在CSS中实现自动应用于DOM中新元素的父选择器
CSS不支持父选择器,例如“选择所有包含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
的
”
提出的一种解决方案是使用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中出现无限循环。其他浏览器工作正常。