jquery遍历和表

时间:2010-02-20 21:59:40

标签: jquery traversal

这个问题让我有点疯狂。

我有类似的东西

  <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>

我希望添加链接类“smallbutton btn_save_feeds”将div“get_feeds_news”替换为其他内容。但我似乎无法在jQuery中使用$(this)遍历它。

从添加链接类“smallbutton btn_save_feeds”遍历以更改div“get_feed_news”中的某些内容的正确方法是什么?我尝试了以下但没有工作。

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

问题是因为它在一张桌子里吗?

提前致谢。

4 个答案:

答案 0 :(得分:2)

你错过了点(加上一个结束div标签)

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

答案 1 :(得分:1)

closest()无效,因为您搜索的元素不是按钮的祖先。

如果get_feeds_news是该类的唯一匹配,则只需使用$('.get_feeds_news')

否则,您可以执行以下操作:

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

jQuery有很多遍历方法。这肯定不是解决问题的唯一方法。如果您的布局发生变化,将会有一些方法可以满足您的需求。

答案 2 :(得分:0)

尝试修复你的html,你没有关闭你的get_feeds_news div:

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

答案 3 :(得分:0)

你可以通过

选择两个元素中的一个
$('.get_feed_news:eq(0)')

(或1秒)

或者,如果您有2个链接smallbutton btn_save_feeds(每个.get_feed_news一个),您可以使用:

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

什么基本上将索引传递给带有调用者索引的过滤器.get_feed_news:]