10

以下と同じ結果を取得したいのですが、重複はありません(同じリンクが2回表示されます)。

<html>
<body>
<a href="http://www.w3schools.com">http://www.w3schools.com</a>
</body>
</html>

Javascriptなしの静的HTMLで可能ですか?

4

5 に答える 5

5

attrCSSの関数を使用することにより、CSSセレクターを使用して重複することなくこれを行うことができます。

スタイルシートにこれを追加できます:

a::after {
    content: attr(href);
}

質問の例:

<html>
<style>
a::after {
        content:  attr(href);
}
</style>
<body>
    <a href="http://www.w3schools.com">Some text</a>
</body>
</html>

そして、の後にリンクを表示しますSome text

于 2020-08-04T07:41:56.223 に答える
4

HTML標準(a)では、URL自体に特定のものを配置することしか許可されてhrefおらず、「リンクとしてテキストの説明を使用してください」マーカーはそれらの1つではありません。

リンクのテキストによる説明はリンクよりも少し人間が読める形式である必要があるとほとんどの人が考えるかもしれませんが、多くの重複を節約できることは間違いありません。たとえば、Webページに次の情報を表示したくない場合があります。

http://www.google.com/patents?id=vmidAAAAEBAJ&printsec=frontcover&dq=database&hl=en&sa=X&ei=tN-0T-TtKu3TmAWNq7DiDw&ved=0CDUQ6AEwAA

そうは言っても、CSSを使用して、特にテキスト属性を含む要素をドキュメントに追加するために使用することで、それを行うことができます。次のように、所有しているすべてのタグを変更しないように、特定のクラスに制限することをお勧めします。afterhrefa

<html>
    <style>
        .add-link::after {
            content: " (" attr(href) ")";
        }
    </style>
    <body>
        <a class="add-link" href="http://www.example.com">Link added</a>
        <p />
        <a href="http://www.example.com">No link added</a>
    </body>
</html>

最初のリンクにはリンクテキストが追加されますが、2番目のリンクには追加されません。残念ながら、それでは非常に大きなURI(上記を参照)がテキストとしてページに配置されるという問題は解決されませんが、少なくともadd-linkそれらにクラスをアタッチしないオプションがあります):


(a):HTML5標準では、ここでA要素を指定し、ここでURI仕様を指定しています

于 2012-05-17T11:06:41.567 に答える
3

できません。JavaScriptを使用するか、そのままにしておく必要があります。

于 2012-05-17T11:06:35.307 に答える
0

いいえ、静的htmlのみで重複を削除する方法はありません。

また、それは必要ではありません。多くのWebページはPHPまたはこのようなものを使用しており、PHPでリンクを作成するのは簡単です:)

PHPの例:

<a href="<?php echo $item->link; ?>"><?php echo $item->link; ?></a>
于 2012-05-17T11:09:14.200 に答える
-3

実際にリンクをフォーマットする良い方法は次のとおりです。

<html>
<body>
<a href="http://www.w3schools.com">w3schools.com</a>
</body>
</html>
于 2012-05-17T11:08:53.623 に答える