Jquery追加或添加

时间:2013-03-27 08:02:06

标签: jquery html-agility-pack

我从现有(较旧)的网站创建移动网站。 来自原始网站的内容将通过HTML敏捷包加载到移动页面中。

原始网站的页面类似于:

<p>
<a href="#">Link1</a>
<a href="#">Link2</a>
<a href="#">Link3</a>
<a href="#">Link4</a>
</p>

我想要做的是在“link1”下插入“content1”,在“link2”下插入“content2”,依此类推。我想通过使用jQuery来做到这一点。有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

您可以使用jQuery function(通常别名为$)选择要添加的锚点,然后使用after在其后插入内容。你需要一个锚的CSS选择器。我们不能给你一个保证从给出的小标记起作用的东西,但它会是这样的:

$("blah blah p a:eq(0)").after("content after link1");
$("blah blah p a:eq(1)").after("content after link2");

...“blah blah”给了我们更多的上下文,所以我们不会在每个段落中的第一个锚点之后添加该文本,我猜你不会想。 : - )

如果没有上下文,您可以使用链接内容以外的内容,可以使用:contains selector

$("a:contains('Link1')").after("content after link1");

...但要注意它将匹配任何包含文本“link1” where 的锚点,并且底层浏览器可能不提供选择器,这意味着jQuery必须要做内部搜索,这有点慢。

答案 1 :(得分:0)

如果你想改变所有这些,你也可以试试$ .each()

$.each($('p a'), function(i,e){$(e).after('content'+i+')});

答案 2 :(得分:0)

试试这样:

var content = {'0' : 'Content 1','1' : 'Content 2','2' : 'Content 3','3' : 'Content 4' };

jQuery("#anyparentId p a").each(function(index){
    jQuery(this).after('<p>'+content[index]+'</p>');
});