Javascript 选择类并将其应用于具有相同类的多个div
我有一个带有如下标记的项目列表:Javascript 选择类并将其应用于具有相同类的多个div,javascript,jquery,css,Javascript,Jquery,Css,我有一个带有如下标记的项目列表: <article class="day past"> <div class="schedule schedule-261 event"> <h4>Title</h4> <p>Lorem ipsum...</p> </div> </article> <article class="day past"> <div class=
<article class="day past">
<div class="schedule schedule-261 event">
<h4>Title</h4>
<p>Lorem ipsum...</p>
</div>
</article>
<article class="day past">
<div class="schedule schedule-283 event">
<h4>Title</h4>
<p>Lorem ipsum...</p>
</div>
</article>
<article class="day past">
<div class="schedule schedule-290 event">
<h4>Title</h4>
<p>Lorem ipsum...</p>
</div>
</article>
<article class="day past">
<div class="schedule schedule-261 event">
<h4>Title</h4>
<p>Lorem ipsum...</p>
</div>
</article>
<article class="day past">
<div class="schedule schedule-290 event">
<h4>Title</h4>
<p>Lorem ipsum...</p>
</div>
</article>
<article class="day past">
<div class="schedule schedule-300 event">
<h4>Title</h4>
<p>Lorem ipsum...</p>
</div>
</article>
<article class="day past">
<div class="schedule schedule-261 event">
<h4>Title</h4>
<p>Lorem ipsum...</p>
</div>
</article>
标题
同侧眼线
标题
同侧眼线
标题
同侧眼线
标题
同侧眼线
标题
同侧眼线
标题
同侧眼线
标题
同侧眼线
计划编号
类别是根据数据库中项目的ID分配的。基本上,这是来自具有重复事件的日历的标记,因此某些事件将共享相同的数据库记录
如果一个项目“重复”(即存在多个带有schedule-261
的div),我想为所有schedule-261
div添加/删除一个额外的类。如果一个项目不是“重复的”(即只有一个div带有schedule-283
),则不会对悬停应用额外的类
jQuery是这个特定项目的首选库,因此首选jQuery解决方案
谢谢 找到“schedule-[Number]”类并添加样式类:
$(".schedule").on("someevent", function(){
var className = this.className;
var classes = className.split(" ");
for(var i=0;i<classes.length;i++)
{
var cls = classes[i];
if (cls.indexOf("schedule") != -1 && cls.replace("schedule").length !== 0 && $("." + cls).length > 1)
{
$("." + cls).addClass("whatever");
}
}
});
$(.schedule”).on(“someevent”,function()){
var className=this.className;
var classes=className.split(“”);
对于(变量i=0;i 1)
{
$(“+cls).addClass(“任何”);
}
}
});
演示:谢谢,VisioN。不管出于什么原因(还是新手),我都不知道。
$('article .schedule').on('mouseover', function () {
var s = $(this);
if(s.size()>1) {
s.addClass('myHoverClass');
}
});
$(".schedule").each(function() {
var cls = (this.className.match(/schedule-\d+/) || []).pop();
if (cls.length === 0) return;
var els = $(".schedule." + cls);
if (els.not(this).length > 0) {
els.hover(function() {
els.addClass("someClass");
}, function() {
els.removeClass("someClass");
});
}
});
$('.schedule').each(function()
{
var s=this.className.split(/\s+/).filter(function(w){return /schedule-\d+/.test(w);});
if (s && $('.' + s).length > 1) $('.' + s).addClass('yourclass');
});