2012-06-04 4 views
0

Я знаю, что мы можем использовать .next(), чтобы найти следующий элемент данного. Однако моя ситуация заставляет меня использовать SELECTOR.jQuery Выберите следующий элемент, используя селектор

Я использую jQuery tools для сборки некоторого tooltips таблицы, каждый «td» имеет два элемента: ссылку и подсказку div. Моя цель - отобразить подсказку, когда мышь нависает над ссылкой. Согласно HTML, он помещается сразу после ссылки, поэтому мне нужно выбрать «следующий элемент». HTML выглядит следующим образом:

<tr> 
    <td><a href="#" id="td1">Title</a> 
    <div class="tooltip"> 
    <h1>Tooltip Title</h1> 
    <p>A detailed descritpion</p> 
    </div> 
    </td> 
</tr> 
<tr> 
    <td><a href="#" id="td2">Title</a> 
    <div class="tooltip"> 
    <h1>Tooltip Title</h1> 
    <p>A detailed descritpion</p> 
    </div> 
    </td> 
</tr> 
<!-- more rows --> 

К сожалению, я не могу использовать .next() здесь, так как в подсказке() функция принимает только строку выбора в качестве аргумента:

$("#mytable img").tooltip({ 
    tip: '.tooltip', // <-- This must be a string, so no next() 
    position: 'center right', 
    offset: [0, 15], 
    delay: 0 
}); 

Есть ли способ, чтобы достичь это, или мне нужно реструктурировать мой HTML? Большое спасибо.

+0

Во-первых, есть ли причина не показывать HTML ??? Во-вторых, почему бы просто не добавить всплывающую подсказку div? –

+0

Не могли бы вы использовать функцию, которая возвращает имя класса .next()? – Hacknightly

+0

Да, я использую всплывающую подсказку div, но именно поэтому я хочу выбрать только следующую. – Yang

ответ

0

Вы можете попробовать это

$("#mytable img").tooltip({ 
    tip: '#mytable img your_html_element', // <-- This must be a string, so no next() 
    position: 'center right', 
    offset: [0, 15], 
    delay: 0 
}); 

Здесь your_html_element может быть вашим DIV или пролетом или любой элемент HTML тегов. вы можете указать имя этого тега. Это то же самое, что и при использовании img-тега.

+0

Если у меня много всплывающих подсказок, у всех есть «всплывающая подсказка» класса, это будет выбирать только последний, но я не хочу использовать разные имена, так как я хотел бы использовать каждый цикл jQuery для применения всплывающих подсказок. – Yang

+0

Использование класса позволит выбрать несколько элементов. Но вам нужно выбрать одну всплывающую подсказку, связанную с изображением наведения. – Vins

+0

Да. Если я использую разные имена, мне придется написать много функций tooltip(), но если я использую одно и то же имя, я могу написать одну функцию, если только выбрать следующий. – Yang

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