1

動的に構築されているリストがあり、いくつかのリンクを使用してデータを入力しています。問題は、データをリンクのように動作させたくないが、リンク (a) として来ており、ロード時に (p) に変更してリンク機能を削除したいが、href タグを保持する必要があることです。 . 基本的に、コンテンツ ブロック全体を空にして追加することなく、読み込み時に HTML タグだけを変更する方法はありますか?

4

5 に答える 5

0

次のようなものを試してください:

$('a').click(function(e){
  e.preventDefault();
});

これにより、タグをクリックできなくなりますが、すべての属性は保持されます

于 2013-09-27T13:31:02.620 に答える
0

以前の回答とは別のメモとして、次の操作を行うと、リンクの HREF 部分をデータ属性として保持できます。

$('a').each(
    var e = $(this);
    e.replaceWith('<p data-href="' + e.attr('href') + '">' + e.html() + '</p>');
});

その HREF にアクセスするには、後で次のようにします。

$('p').data('href');
于 2013-09-27T13:36:57.010 に答える
0
$('a.specific_link_class').each(function(idx, el){

  $( this ).replaceWith( "<p data-href='" + $(this).attr('href') +"'>" + $( this ).text() + "</p>" );


});

これにより、新しい p タグの data-href 属性として href を使用して、特定のクラス (適切なセレクターでクラスを変更) を持つすべてのリンクが p タグに変更されます。

于 2013-09-27T13:35:51.813 に答える
0

これらのリンクのクリック イベントを防止し、カーソルを変更して、必要な CSS と共に A タグを保持するようにします (または、その書式を段落のようなものに置き換えます)。

JS:

$('a').on('click', function() {return false;});

CSS:

a {cursor: default;}

さらに、本当に必要な場合は、これらのリンクを段落内にラップして、実際にその P タグを構築することができます。

$('a').wrap('<p></p>');
于 2013-09-27T13:31:43.943 に答える