我从现有(较旧)的网站创建移动网站。 来自原始网站的内容将通过HTML敏捷包加载到移动页面中。
原始网站的页面类似于:
<p>
<a href="#">Link1</a>
<a href="#">Link2</a>
<a href="#">Link3</a>
<a href="#">Link4</a>
</p>
我想要做的是在“link1”下插入“content1”,在“link2”下插入“content2”,依此类推。我想通过使用jQuery来做到这一点。有人可以帮忙吗?
答案 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>');
});