Как мне преобразовать атрибут «title» в событие наведения мыши с помощью jQuery? - PullRequest
1 голос
/ 03 октября 2008

У меня есть элемент span внутри элемента table, td. Тег span имеет заголовок.

Я хочу получить заголовок этого тега span и вытащить его, чтобы он стал подсказкой "mouseover" для элемента td.

Например:

Я хочу включить это:

<td>
    <a href="#"><span id="test" title="Acres for each province">Acres</span></a>
</td>

В это:

<td onmouseover="tip(Acres for each province)">
    <a href="#"><span id="test">Acres</span></a>
</td>

РЕДАКТИРОВАТЬ: Я не думаю, что вы, ребята, понимаете. Я пытаюсь поместить функцию onmouseover в тег "td". Я НЕ пытаюсь поместить его в тег span.

Ответы [ 5 ]

5 голосов
/ 03 октября 2008

На основании ваших правок вы можете проверить методы обхода DOM в jQuery: http://docs.jquery.com/Traversing

Что-то в этом роде (не проверено, я не утверждаю, что это синтаксически правильно, просто общие идеи здесь) ...

$("td").each(function()
{
    $(this).mouseover(function()
    {
        tip($(this).children("span").attr("title"));
    });
});
1 голос
/ 03 октября 2008

что-то вроде:

$("span#test").mouseover( function () {
   tip($(this).attr("title"));
}
0 голосов
/ 05 октября 2008

Хорошо, я тоже попробую: P

$("#yourTable").find("td").over(function()
  { generateTip($(this).find("span:first").attr("title") }
  , function() { removeTip() }
)

Что это делает:

  • Получить таблицу с идентификатором yourTable
  • Выбрать все его тд
  • вставить событие mouseover и mouseout
  • Событие при наведении мыши: вызвать функцию generateTip со значением заголовка первого промежутка в этом td
  • событие mouseout: вызов функции removeTip () (optionnal).
0 голосов
/ 03 октября 2008

Если вы не можете поместить класс в td или выбрать его каким-либо образом, тогда начните с выбора диапазона, затем перейдите к прародителю и добавьте курсор мыши:

// get each span with id = test
$("span#test").each(function(){
    var $this = $(this);
    // attach to mouseover event of the grandparent (td)
    $this.parent().parent().mouseover( function () {
        tip($this.attr("title"));
    }
);
0 голосов
/ 03 октября 2008

С jQuery:

$('#test').attr('title')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...