0

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

原网站有一个类似这样的页面:

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

我想要做的是在“link1”下面插入“content1”,在“link2”下面插入“content2”等等。我想通过使用 jQuery 来做到这一点。任何人都可以帮忙吗?

4

3 回答 3

2

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

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

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

如果除了链接的内容之外没有可以使用的上下文,则可以使用:contains选择器

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

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

于 2013-03-27T08:04:32.897 回答
0

如果您想更改所有这些,您也可以尝试 $.each()

$.each($('p a'), function(i,e){$(e).after('content'+i+')});
于 2013-03-27T08:13:29.573 回答
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>');
});
于 2013-03-27T08:18:48.213 回答