这个小问题需要一些帮助, 例如,如果我投票苹果我想禁用苹果后的所有链接,这个脚本不知何故工作,但它不能像我想要的方式工作,但我还在学习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-->
答案 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
事件。