2009-10-06 2 views
0

누군가이 스크립트가 작동하지 않는 이유를 말해주십시오. 그것은 일하기로되어 있지만, 그렇지 않습니다, 나는 ID를 정확하게 얻고 있습니다. 그러나 Divs는 제대로 표시되지 않습니다. 내 아이디어는 클릭에 따라 하나의 div를 표시하고 다른 div를 숨기는 것입니다.jQuery .live 함수가 작동하지 않습니다.

스크립트

$(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> 

답변

5

귀하의 DIV ID가 잘못되었습니다. 시도 :

<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; 
}); 
+0

감사 Ghommey ...이 .. 나를 위해 일을했지만 때 내가 div를 클릭하면 올바르게 표시되고 두 번째 링크를 클릭하면 첫 번째 DIV가 여전히 표시됩니다 .. 클릭하지 않은 링크의 div를 숨기는 방법은 무엇입니까 ?? – Sullan

+0

나는 내 게시물에 대한 해결책을 추가했다. – jantimon

+0

감사합니다 Ghommey ..하지만 내 상단 링크도 클릭하면 숨겨지고있다 ?? – Sullan

0

당신은 재사용하고 ID 속성. ID는 문서에 고유해야합니다.

동일한 ID로 앵커와 div를 사용할 수 없습니다.

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

변화 그것에 :

+0

예 링크와 div에 대해 동일한 속성을 사용하는 것은 너무 바보 같았습니다. 제목을 id로 변경 한 후에도 div에서 클릭을 볼 수 없습니다. – Sullan

1

는 오류가

을 참조하십시오 .. 실제로 사람이 흠

$("div#"+idV).css("display","block"); 
관련 문제