【问题标题】:JQuery add class functionality not workingJQuery添加类功能不起作用
【发布时间】:2011-06-09 17:44:28
【问题描述】:

我正在尝试创建一个类似于 Twitter 推文区域的元素。 DIV 在鼠标悬停时应该是不同的颜色,并且背景图像具有新的位置。

然后当用户点击背景图像位置应该再次移动并且背景颜色应该只在用户没有悬停时改变。我试过了,但它不起作用。

JS--

function reviews(id) {
    $('#reviews .review').removeClass('ractive');
    $(id).addClass('ractive');
}

CSS --

#reviews .review {
    font-family:"Lucida Grande", Arial, sans-serif;
    display:block;
    width:599px;
    padding-right:30px;
    background:url(images/ui/arrows.png) -60px -60px no-repeat;
}
#reviews .review:hover {
    background-position:605px 50px; 
    background-color:#E6F5F5;
    }
#reviews .review .ractive {
    background-color:#E2E2E2;
    background-position:605px -100px; 
}
#reviews .review .ractive:hover {
    background-color:#E6F5F5;
    background-position:605px -100px; 
}

HTML

<div class="review" onclick="reviews(this);">Blah Blah Blah Blah</div>

任何想法有什么问题。新类不适合应用于元素。

太棒了

【问题讨论】:

  • 什么不起作用?你在传递什么id
  • 新的类没有缝到元素上。
  • 我们只需要更多的代码来解决问题,基本上就是调用reviews()的部分

标签: jquery css addclass


【解决方案1】:
$(id).addClass('ractive');

没有得到正确的选择器。根据您的标记,您应该这样做。

$('.review').click(function() {
    $(this).addClass('ractive');
});

然后,您应该从您的标记中删除 onclick="reviews(this);。如果您使用 jquery 来应用类,请总体上坚持这种方法。不要混用突兀和unobtrusive javascript。上面发布的代码只会将ractive 类添加到您单击的链接中。

另外,将您的 CSS 从 #reviews .review .ractive 更改为仅 #reviews .ractive。您拥有的类正在寻找一个带有 ractive 类的内部元素,您不需要它,因为该类在同一个元素上

#reviews .review:hover {
    background-position:605px 50px; 
    background-color:#E6F5F5;
    }
#reviews .ractive {
    background-color:#E2E2E2;
    background-position:605px -100px; 
}
#reviews .ractive:hover {
    background-color:#E6F5F5;
    background-position:605px -100px; 
}

【讨论】:

  • OP 的问题纯粹是 CSS。通过this 将元素传递给reviews(id) 方法没有错。使$(id).addClass('ractive'); 实际上与$(this).addClass('ractive'); 相同
  • 除了OP没有向div声明一个ID,所以没有什么可以通过的。 jsfiddle.net/5NL9X 使用 OP 的代码时,您可以看到没有任何反应。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
  • 2021-10-05
相关资源
最近更新 更多