点击链接从下一个链接删除href所以,我不能再投票

时间:2013-09-16 08:13:08

标签: jquery

http://jsfiddle.net/hNpmc/

这个小问题需要一些帮助, 例如,如果我投票苹果我想禁用苹果后的所有链接,这个脚本不知何故工作,但它不能像我想要的方式工作,但我还在学习jQuery,所以我没有足够的经验

<script type="text/javascript">

    $(document).ready(function() {

        $("#container .bar a").click(function() {

            var target = $(this);

            target.html('Voted').addClass('voted');

            //$('span a').removeAttr('href'); // this doese not help



            return false;
        });
});

</script>




<div id="container"> 


<span id="question">What is your favorite</span>



 <div class="bar"><span> 10% </span><span><a class="a" href="">Vote</a></span> apple</div>
 <div class="bar"><span> 20% </span><span><a class="a" href="">Vote</a></span> banana</div>
 <div class="bar"><span> 30% </span><span><a class="a" href="">Vote</a></span> lemon</div>


</div><!--end container-->

2 个答案:

答案 0 :(得分:2)

是你想要的吗?

    $(document).ready(function() {

        $("#container .bar a").click(function() {

            var target = $(this);

            // disabling all next a links
            var allNext = target.parents('.bar').nextAll().css("opacity",0.5);                                                                
            allNext.find("a").removeAttr("href").off("click mouseover mouseenter");                                

            $(this).addClass('voted').html('Voted');                
            $(this).removeAttr('href');                        

            return false;
        });
});

在这里工作小提琴:http://jsfiddle.net/hNpmc/4/

答案 1 :(得分:0)

要停用所有链接但仅为已点击的<a>设置“已投票”文字,请按以下步骤修改您的代码:

$(document).ready(function () {
    $("#container .bar a").click(function () {
        var target = $("#container .bar a");
        $(this).html('Voted').addClass('voted');
        target.removeAttr('href').off('click');
        return false;
    });
});

$(this)指向被点击的<a>,因此仅对此进行文本更改。 target = $("#container .bar a");表示选择了所有此类<a>元素,off('click')将禁用所有这些click事件。

Demo Link