我在页面上有多个具有匹配类的元素。这些类是由变量构建的,所以我不能将css硬编码到样式表中。构成页面的元素将不断变化,因此我需要一些javascript来查找元素的类,然后为该类应用一些css。它位于一个带有Jquery,Drupal(视图)的网站上,如果它有帮助的话......
我是那里的一部分。我写了以下脚本:
$(document).ready(function(){
$("a").hover(function() {
var myClass = $(this).attr("class");
$(.$myClass).hover(function(){
$(this).css({
border : '3px solid red',
color : 'red'
});
});
});
});
现在如果我在那里放一个'警报',我看到它正在捕捉当前正在盘旋的元素的类。但我无法得到它然后找到该类的页面上的所有元素并应用CSS。要添加一些信息,我想要调整的两个元素是一个小缩略图,我想添加一个边框,以及一个我希望改变颜色的链接节点的标题。
非常感谢任何帮助。
答案 0 :(得分:2)
你遇到的问题是双重的(至少),但实际上你是在声明这个变量:
var myClass = $(this).attr("class");
然后尝试使用其他名称.$myClass
访问该变量,应该是:
$(.myClass)
此外,选择器的句点不是变量名称的一部分,它是一个字符串,因此必须引用并连接:
$('.' + myClass)
此外,您不会在这些元素悬停时将行为分配给其他元素,而是悬停在您当前正在悬停的a
元素上。所以你的
$("a").hover(function() {
var myClass = $(this).attr("class");
$(.$myClass).hover(function(){
$(this).css({
border : '3px solid red',
color : 'red'
});
});
应该是:
$("a").hover(function() {
var myClass = $(this).attr("class");
$('.' + myClass).css({
border : '3px solid red',
color : 'red'
});
});