jquery - 单击按钮时的样式元素

标签 jquery css

我有动态创建的元素和按钮,我想通过使用 jquery 设计它们的样式(我正在使用 AJAX)向用户展示正在发生的情况。每个元素如下:

<li class="items">
<div class="itemheading">
<div class="controls"> 
    <span class="votes">1</span>
    <form class="actions" method="POST">
        <input type="submit" class="button plus" value="+1" data-plus="123">
    </form>
    <form class="actions" method="POST">
        <input type="submit" class="button minus" value="-1" data-minus="123">
    </form>  
    <form class="actions" method="POST">
        <input type="submit" class="button delete" value="X" data-del="123">
    </form></div><span class="title">Item title</span>
</div>
<span class="infotext">Item Description</span>
</li>

单击按钮时,我希望更新元素的样式。例如,如果单击 +1 按钮,元素边框应淡为绿色,然后在几秒钟内淡出为无,以表明该元素已被投票通过。

到目前为止我想到的是以下内容:

$(".plus").live('click', function() {
 $(this).css("background", "#fff");

但这不起作用。我想我可以使用 $(this)引用被单击的按钮,因为我已经使用它来获取按钮的数据标记值:

var plus = $(this).data('plus');

另一个问题是,即使它确实有效,它也会对按钮边框进行样式设置,而我需要以某种方式对 <div class="itemheading"> 进行样式设置。 。我只能说设置 .itemheading 元素的样式,但由于我将拥有该类的多个元素,因此我需要找到另一种方法。也许有一种方法可以引用元素的父元素,然后我可以获得它的父元素?

谢谢。非常感谢任何帮助。

更新:这样人们就可以看到代码在这里起作用了。

$(".plus").live('click', function() {
 $(this).parents(".itemheading").css("background", "#000");
});​

最佳答案

这是一个工作示例,不确定这是否是您想要的,但是带有 class .itemheading 的 class plus 的父元素在单击 +1 按钮后将闪烁黑色。

示例 - http://jsfiddle.net/yZmrz/

关于jquery - 单击按钮时的样式元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11541308/

相关文章:

html - 使Facebook嵌入页面在一定宽度上消失

javascript - 如何在动画之前延迟 .css 函数

jquery - IE6 的 bottom-position 如何实现?IE5 是否也存在同样的问题,比如所有早期版本?

javascript - JQuery 重置所有其他子元素的 z-index

html - 在另一个 html 中嵌入单个 html 的多个实例,但具有不同的样式

javascript - 存储在嵌套 map /对象中使用的实例

javascript - 如何在 ajax 中获取从 Controller 返回的模型的值?

html - 如何删除两个按钮 '+' 和 '-' 上方的空间?

jquery - 在 HTML5 Flowplayer 上禁用暂停

jquery find() 可以结合 id 和 html 元素吗?