0

既存の(古い)WebサイトからモバイルWebサイトを作成しています。元のWebサイトのコンテンツは、HTMLアジリティパックを介してモバイルページに読み込まれます。

元のサイトには、次のようなページがあります。

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

私がやりたいのは、「content1」を「link1」の下に挿入し、「content2」を「link2」の下に挿入することです。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 に答える