2011-12-29 70 views
0
<table id="tab"> 
    <tr><td class="click" id="111">111</td> <td id="222" class="click">222</td></tr> 
    <tr><td class="click" id="333">333</td> <td id="444" class="click">444</td></tr> 
</table> 

<div id="hidden"> 
    text 
</div> 

#tab tr td { 
padding: 10px; 
    border: solid 1px red; 
} 

#hidden { 
    background-color:green; 
    width: 40px; 
    height: 40px; 
    display: none; 
} 

$(".click").click(function(){ 
    $("#hidden").show(); 
}) 

如何在当前点击的TD中打开div #hidden?如果我点击外面#隐藏我想隐藏这个div。打开当前点击的TD div

小提琴:http://jsfiddle.net/QyRnH/2/

+0

现在看http://jsfiddle.net/QyRnH/2/ – mgraph 2011-12-29 14:17:56

回答

1

我不知道你所说的“如何是什么意思在当前点击的TD中打开div #hidden“,但显示并隐藏#hidden格,你可以这样做:http://jsfiddle.net/QyRnH/7/

<table id="tab"> 
    <tr> 
    <td class="click" id="111">1</td> 
    <td class="click" id="222">2</td> 
    </tr> 
    <tr> 
    <td class="click" id="333">3</td> 
    <td class="click" id="444">4</td> 
    </tr> 
</table> 

<div id="hidden">text</div> 

$(".click").click(function(e){ 
    $("#hidden").show(); 
    $("#hidden").appendTo($(this)); 
    e.stopPropagation(); 
}); 
$(document).click(function() { 
    $('#hidden').hide(); 
}); 
+0

如果我点击111然后我想要这些div在TD 111 – 2011-12-29 14:21:16

+0

@PaulLeading - 我更新了我的小提琴。 – Cyclonecode 2011-12-29 14:24:47

1

在这里你去:http://jsfiddle.net/maniator/QyRnH/6/

HTML:

<table id="tab"> 
    <tr> 
     <td class="click" id="111"> 
     111 
      <div class="hidden"> 
       text 
      </div> 
     </td> 
     <td id="222" class="click"> 
      222 
      <div class="hidden"> 
       text 
      </div> 
     </td> 
    </tr> 
    <tr> 
     <td class="click" id="333"> 
      333 
      <div class="hidden"> 
       text 
      </div> 
     </td> 
     <td id="444" class="click"> 
      444 
      <div class="hidden"> 
       text 
      </div> 
     </td> 
    </tr> 
</table> 

JS:

$(".click").click(function() { 

    $(".hidden").hide(); 
    $(".hidden", this).toggle(); 

}); 
+0

我想隐藏div,如果我点击外部,而不是切换,但谢谢:) – 2011-12-29 14:23:28

3

尝试类似下面

$(".click").click(function(){ 
    $("#hidden").show(); 
    $("#hidden").offset($(this).offset()); 

}); 

要更改左,顶部,你可以写类似

$("#hidden").offset({top: $(this).offset().top, left: $(this).offset().left+10}); 

要隐藏在div点击时外面请参考Krister Andersson发布的答案

+0

谢谢,可以操纵这个吗?左上角?我如何隐藏div如果我点击outsite DIV? – 2011-12-29 14:24:40

0
$(".click").click(function(){ 
    $("#hidden").show(); 
    $(this).append($("#hidden")); 
})