这个问题让我有点疯狂。
我有类似的东西
<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');
问题是因为它在一张桌子里吗?
提前致谢。
答案 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
:]