jquery
2009-01-21 58 views 3 likes 
3

我是JQuery的新手。我正在阅读JQuery的行动,但只能到第39页,需要一些快速的帮助!使用JQuery插入HTML作为选定标记的最后一个孩子

请注意:我正在简化我的实际需求,所以我所要求的可能听起来很奇怪,但我只是试图去解决JQuery表达式的症结,而不是我的情况(与动画插件有关)。

我有我的HTML代码(其中生成,我不想改变):当前后

<div class="favorite"> 
    <div> 
      <a href='http://www.stackoverflow.com'>Stackoverflow</a> 
    </div> 
</div> 

现在我想做的是插入文本“(喜欢)”内的标签内容。或换句话说,作为<a>的最后一个孩子。

<div class="favorite"> 
    <div> 
      <a href='http://www.stackoverflow.com'>Stackoverflow (favorite)</a> 
    </div> 
</div> 

我迄今为止最好的是这样的:

$('<span> (favorite)</span>').insertAfter('.favorite div a'); 

当然这最终把(喜爱)文本之外的链接,它不会被强调(我想)。

我需要以某种方式说.parent()。lastChild(),但我不太确定如何做到这一点。

注意:我必须放入<span>,否则它不会将其视为“可插入”文本。我相信也有解决办法,但那是次要的问题。

回答

8

append方法在匹配元素的末尾插入节点。 Prepend在开始处插入节点。

例子:

$('div.favorite div a').append('<span> (favorite)</span>'); 

span元素是没有必要的 - 你可以这样做:

$('div.favorite div a').append(' (favorite)'); 
+0

糟糕!我实际上已经尝试追加,它似乎没有做任何事情。事实证明,这是因为我的动画依赖于包含'display:none'的'.favorite div a'的css选择器。所以这是工作,但立即消失。谢谢 – 2009-01-21 02:43:02

+0

加上另外我得到了两个错误的方式 - 这是关键。所以我只是几乎得到它的工作 – 2009-01-21 02:48:34

1

你也可以这样做:

$("div.favorite div a").text($("div.favorite div a").text() + " (favorite)"); 

 相关问题

  • 暂无相关问题^_^