2008-10-03 2 views
7

Мне нужно добавить всплывающую подсказку/alt к элементу «td» внутри моих таблиц с помощью jquery.Как добавить подсказку в «td» с jquery?

Может кто-нибудь помочь мне?

Я пробовал:

var tTip ="Hello world"; 
$(this).attr("onmouseover", tip(tTip)); 

где я проверил, что я использую «ТД» как «это».

** Редактировать: ** Я могу захватить элемент «td» с помощью команды «alert», и она сработала. Поэтому по какой-то причине функция «tip» не работает. Кто-нибудь знает, почему это было бы?

ответ

24
$(this).mouseover(function() { 
    tip(tTip); 
}); 

лучший способ может быть поставить title атрибуты в вашем HTML. Таким образом, если у кого-то отключен javascript, они все равно получат подсказку (хотя и не так красиво/гибко, как вы можете сделать с jQuery).

<table id="myTable"> 
    <tbody> 
     <tr> 
      <td title="Tip 1">Cell 1</td> 
      <td title="Tip 2">Cell 2</td> 
     </tr> 
    </tbody> 
</table> 

, а затем использовать этот код:

$('#myTable td[title]') 
    .hover(function() { 
     showTooltip($(this)); 
    }, function() { 
     hideTooltip(); 
    }) 
; 

function showTooltip($el) { 
    // insert code here to position your tooltip element (which i'll call $tip) 
    $tip.html($el.attr('title')); 
} 
function hideTooltip() { 
    $tip.hide(); 
} 
+0

Я хочу, чтобы это сработало, но почему-то это не так ... – 2008-10-03 04:08:29

+0

вы можете уточнить? что происходит? есть ли сообщения об ошибках? Вы действительно получили функцию под названием «tip»? – nickf 2008-10-03 04:10:43

1
var tTip ="Hello world"; 
$(this).mouseover(function() { tip(tTip); }); 
+0

Я хочу, чтобы это сработало, но почему-то это не так ... – 2008-10-03 04:06:55

-1

Если вы действительно хотите, чтобы положить эти подсказки на ваших ячеек таблицы и а не заголовки ваших таблиц - где они будут иметь гораздо больше смысла - пожалуйста, подумайте о том, чтобы разместить их в содержимом INSIDE в ячейках таблицы, где это гораздо более значимо.

1

grdList - идентификатор таблицы

тд: п-й ребенок (5) - колонка

$('#grdList tr td:nth-child(5)').each(function(i) { 
    if (i > 0) { //skip header 
     var sContent = $(this).text(); 
     $(this).attr("title", $(this).html()); 
     if (sContent.length > 20) { 
      $(this).text(sContent.substring(0,20) + '...'); 
     } 
    } 
}); 
3
$('#grdList tr td:nth-child(5)').each(function(i) { 
    if (i > 0) { //skip header 
     var sContent = $(this).text(); 
     $(this).attr("title", $(this).html()); 
     if (sContent.length > 20) { 
      $(this).text(sContent.substring(0,20) + '...'); 
     } 
    } 
}); 

grdList - идентификатор таблицы

тд: п-й ребенок (5) - колонки 5

Смежные вопросы