有人可以告诉我为什么这个剧本不起作用?它应该工作,但它没有,我正确得到id,但Divs没有正确显示。我的想法是根据点击显示一个div,并隐藏其他Div。
脚本
$(document).ready(function() {
$("a").live("click", function(){
var idV = $(this).attr("id");
alert(idV);
$("#"+idV+"div").css("display","block");
return false;
});
});
HTML
<a href="#" id="solution1">Solution 1</a>
<a href="#" id="solution2">Solution 2</a>
<a href="#" id="solution3">Solution 3</a>
<a href="#" id="solution4">Solution 4</a>
<br />
<div id="solution1" style="display:none;">Solution 1</div>
<div id="solution2" style="display:none;">Solution 2</div>
<div id="solution3" style="display:none;">Solution 3</div>
<div id="solution4" style="display:none;">Solution 4</div>
答案 0 :(得分:5)
你的div ids是错误的。 尝试:
<div id="solution1div" style="display:none;">Solution 1</div>
而不是
<div id="solution1" style="display:none;">Solution 1</div>
编辑:
<强> JSBIN: Preview 强>
<强> JSBIN: Source Code 强>
<a href="javascript:;" id="solution1">Solution 1</a>
<a href="javascript:;" id="solution2">Solution 2</a>
<a href="javascript:;" id="solution3">Solution 3</a>
<a href="javascript:;" id="solution4">Solution 4</a>
<br />
<div>
<div id="solution1div" style="display:none;">Solution 1</div>
<div id="solution2div" style="display:none;">Solution 2</div>
<div id="solution3div" style="display:none;">Solution 3</div>
<div id="solution4div" style="display:none;">Solution 4</div>
</div>
jquery的:
$("a").live("click", function(){
var idV = $(this).attr("id");
$("#"+idV+"div").siblings().hide();
$("#"+idV+"div").show();
return false;
});
答案 1 :(得分:1)
mmmm错误实际上是男人..
请参阅:
$("#"+idV+".div").css("display","block");
将其更改为:
$("div#"+idV).css("display","block");
答案 2 :(得分:0)
您正在重复使用ID属性。 ID必须是文档的唯一。
您不能拥有具有相同ID的锚点和div。