jquery обход и таблицы - PullRequest
2 голосов
/ 21 февраля 2010

Эта проблема сводит меня с ума.

У меня есть что-то вроде этого

  <h3>Feeds
   <span><a class="smallbutton create_feed" href="javascript:;">
    <strong>Create New</strong>
    </a>
   </span>
   <span class="div_form_add_feed">
    <a class="smallbutton btn_save_feeds" href="javascript:;">
    <strong> Add </strong></a>
   </span>
   </h3>
<table cellpadding=0 cellspacing=1 class="table">
<tr><td>
<div class="get_feeds_news">test</div></td></tr></table>

Я хочу, чтобы класс ссылки Add "smallbutton btn_save_feeds" заменил div "get_feeds_news" чем-то другим. Но я не могу перейти к нему, используя $ (this) в jQuery.

Как правильно перейти из класса Add link "smallbutton btn_save_feeds", чтобы изменить что-то в div "get_feed_news"? Я попробовал следующее, но не сработало.

$(this).closest('.get_feeds_news').html('hihi');  

Проблема в том, что она внутри стола?

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 21 февраля 2010

вам не хватает точки (плюс закрывающий тег div)

$(this).closest('.get_feeds_news').html('hihi');
1 голос
/ 21 февраля 2010

closest() не будет работать, так как искомый элемент не является предком кнопки.

Если get_feeds_news - единственное вхождение этого класса, вы можете просто использовать $('.get_feeds_news')

В противном случае вы можете сделать что-то вроде:

$(this).closest('h3').next().find('.get_feeds_news')

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

0 голосов
/ 21 февраля 2010

Вы можете выбрать один из двух элементов с помощью

$('.get_feed_news:eq(0)')

(или 1 за секунду)

или, если у вас есть 2 ссылки smallbutton btn_save_feeds (по одной на каждую .get_feed_news), вы можете использовать:

$('.get_feed_news').eq( $(this).index() )

что в основном передает индекс в фильтр .get_feed_news с индексом вызывающей стороны:]

0 голосов
/ 21 февраля 2010

попробуйте исправить html, вы не закрыли свой div get_feeds_news:

<table cellpadding=0 cellspacing=1 class="table">
<tr><td>
<div class="get_feeds_news"></div></td></tr></table>
...