2012-01-16 9 views
2
<table id="tab"> 
    <tr><td class="here">dgd</td><td class="here">dfg</td></tr> 
    <tr><td class="here">fgf</td><td class="here">sg4</td></tr> 
</table> 


<table id="new"> 
    <tr><td id="al">sss</td></tr> 
</table> 

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

#new td { 
    padding: 5px; 
    height: 40px; 
     border: solid 1px green; 
    background-color: green; 
} 

#new { 
    display: none; 
} 

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

    $("#al").click(function(){ 
     alert('ok'); 
    }) 

LIVE:http://jsfiddle.net/HTHnK/CSSでpositionを使用するには?

どのように私はjQueryのでは、追加位置のために、この例を修正することができますか?私は好きです - もし私がクリックしたら、テーブルid = newは、このクリックされたTDに私を見せてください。さらに、のテーブルID =新しいをクリックした場合、これは非表示にする必要があります。

どうすればいいですか?

+0

何をしようとしていますか?クリックするとセルの色が変わるようにしますか?これを行う簡単な方法があるからです。 – bdares

+0

色はありません。私はテーブルを隠すようにしたいと思います。これは例です。 jsfiddleを使用してください。 –

答えて

1

あなたはこのようになりたいですか?

http://jsfiddle.net/HTHnK/6/

+0

はい、非常にありがとう:)しかし、もし私が外の緑色のボックスをクリックした場合、あなたはこの緑色のボックスが隠されている場合も追加できますか? –

+1

小さな変更を加えました:http://jsfiddle.net/HTHnK/14/ –

+1

ナディアの答えは完璧です –

1

あなたはそれではなく、特定の領域内のクリックのクリックに応答しますページ全体のイベントハンドラを、したいです。特定の領域への対応からページを防ぐために

使用event.stopPropogation()

$('.item').click(function(event){ 
    $('#context').show(); 
    event.stopPropogation(); 
}); 
$('body').click(function(){ 
    $('#context').hide(); 
}); 

jsfiddle

1

あなたは緑色のボックスがクリックされたセル(経由と同じ位置に移動しなければならないことを言っている場合クリックしたセルの子として付加するのと比較して絶対的な位置付け)、次のようなものを試すことができます:

$(document).on("click", function(e) { 
    var $el = $(e.target); 
    if ($el.hasClass("here")) { 
     $("#new").css({'left': e.target.offsetLeft, 
         'top': e.target.offsetTop}).show(); 
    } else { 
     $("#new").hide(); 
    } 
}); 

ドキュメントのクリックを処理します。クリックが「.here」セルのいずれかにある場合、緑色のボックスが移動し、そうでない場合は非表示になります。

デモ:http://jsfiddle.net/HTHnK/16/

1

新しいテーブルセルにソースセルからテキストを移動するために探していますか?

http://jsfiddle.net/dnrar/

関連する問題