简体   繁体   English

jQuery .live函数不起作用

[英]jQuery .live function not working

Can somebody please tell me why this script is not working? 有人可以告诉我为什么这个脚本不起作用吗? It is supposed to work, but it doesn't, I am getting the id correctly, but Divs are not displaying properly. 应该可以使用,但是不能,我可以正确获取ID,但是Divs不能正确显示。 My idea is to display one div based on the click, and hide the other Divs. 我的想法是根据点击显示一个div,而隐藏另一个div。

Script 脚本

$(document).ready(function() {
    $("a").live("click", function(){
    var idV = $(this).attr("id"); 
    alert(idV);
    $("#"+idV+"div").css("display","block");
    return false;
    });
});

HTML 的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>

Your div ids are wrong. 您的div ID错误。 Try: 尝试:

<div id="solution1div" style="display:none;">Solution 1</div>

instead of 代替

<div id="solution1" style="display:none;">Solution 1</div>

Edit: 编辑:

JSBIN: Preview JSBIN:预览

JSBIN: Source Code JSBIN:源代码

<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: jQuery的:

$("a").live("click", function(){ 
var idV = $(this).attr("id");  

$("#"+idV+"div").siblings().hide(); 
$("#"+idV+"div").show(); 

return false; 
}); 

mmmm the error is actually there man.. mmmm错误实际上在那儿..

see: 看到:

$("#"+idV+".div").css("display","block");

change it to: 更改为:

$("div#"+idV).css("display","block");

You're reusing ID attributes. 您正在重用ID属性。 IDs need to be unique to a document. ID对于文档必须是唯一的。

You can't have anchors and divs with the same ID. 您不能使用具有相同ID的锚和div。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM