2011-06-23 21 views
9

Jak uczynić ten cały td linkiem?Jak uczynić cały td linkiem?

<td id="blue-border"><span id="blue"></span></td> 

Kliknięcie td powinny zachowywać się tak (wiem, że to jest składniowo niepoprawne:

<a href="javascript:chooseStyle('blue-theme', 360)"> <td id="blue-border"><span id="blue"></span></td> </a> 

EDIT: jak dotąd wszystkie sugestie są tylko co rozpiętość wewnątrz td link, pomóc lol .

+0

Co chcesz zrobić? Dlaczego komórka tabeli musi być powiązana? – kdub

Odpowiedz

25

użycie CSS.

<style type="text/css"> 
td a { display: block; width: 100%; height: 100%; } 
</style> 

<td><a href="#">Link</a></td> 

CSS zmusza łącze do rozwinięcia do pełnej szerokości i wysokości TD.

+2

To nadal nie działa dla mnie – user784637

+0

@LedZeppelin Oto wersja demo: http://jsfiddle.net/upBDc/ ... jest wiele rzeczy, które mogą być nie tak z twoim kodem. Czy masz link? –

+1

Działa to, gdy wysokość td jest jawnie określona, ​​ale nie wtedy, gdy jest określona przez inne rzeczy w rzędzie, najwyraźniej: http://jsfiddle.net/ypj10jyj/2/ – idupree

2

zdarzenie OnClick dla TD:

<td id="blue-border" onclick="chooseStyle('blue-theme', 360)">... 
+0

To nie zadziałało – user784637

+0

Co się stanie, gdy to zrobisz? – n8wrl

3

nie można zawinąć w sposób td n kotwica. Wykonaj:

<td id="blue-border"><a href="javascript:chooseStyle('green-theme', 360)"> <span id="blue"></span></a></td> 

Albo

<td onclick="chooseStyle('green-theme', 360)" id="blue-border"><span id="blue"></span></td> 
3

Dodaj znacznik zakotwiczenia wewnątrz td i ustawić jego atrybut wyświetlacza do bloku. To powinno umożliwić kliknięcie całego td.

#blue-border a{ 
    display: block; 
} 

lub

<a href="link" style="display:block;"> 
2

Jeśli wszystko robisz jest wypalanie JavaScript, polecam korzystania onclick zamiast znacznika zakotwiczenia w pierwszej kolejności, jak:

<td id="cell123" onclick="chooseStyle('green-theme',360)">cell contents</td> 

Można rzucać prosty styl css tam jeśli chcą myszy, aby stać się wskazówka:

#cell123:hover { cursor: pointer; } 
2
<table width="100%" class="blueCss"> 
    <tr> 
     <td ID="tdBlue"> 
      <span id="Blue">Hello</span> 
     </td> 
     <td> 
      <span>other col</span> 
     </td> 
    </tr> 
</table> 

plik css:

.blueCss { 
     height: 100px; 
     width: 100px; 
    } 

    .blueCss td { 
     background-color: blue; 
    } 

    .blueCss:hover { 
     border-color: #00ae00; 
    } 

    .blueCss td:hover { 
     background-color: yellow; 
     cursor: pointer; 
    } 

kod jQuery:


$(document).ready(function(){ 
    var tdLink = $('#tdBlue'); 

    tdLink.click(function(){ 
         alert('blue-theme'); 
    }); 
}); 

Sprawdź tutaj: jsFiddle.net

0

użyć jQuery z klasą
$("tr td.data_col").click(function() { window.location = $(this).find('a').attr("href"); });

+1

Jakieś wyjaśnienie? – VPK