1

私は運が悪かったので午後中ずっとオンとオフを試してきました。私ができる必要があるhref=""のは、リンクの値を取得して、それを新しい変数または新しい属性(の内部a)に格納することですが、http://事前に削除されています。これは値を同じに保つhrefので、リンクを指しますが、http://のないバージョンもあります。

これまでのところ、これは私が試したコードです:

$("a[href]").each(function() {
    var link = $(this).replace('http://', '');
});

これは正しいと思いますが、jQueryやJSはあまり得意ではないので、誰かがそれを終わらせたり、最初から始めたりしていただければ幸いです:)

a最終的には、を使用して、http://なしのリンクをの疑似要素に配置できるようにしたいと思います a:before

私もjsfiddleを持っています。

私を助けてくれた人に感謝します。

4

3 に答える 3

4

this.hrefの代わりに使用して$(this)ください。

httpsと同様に処理したい場合httpは、正規表現を使用できます。

var link = this.href.replace(/^https?:\/\//, '');

:afterまた、この値を疑似要素で表示したいのでlink、data属性に格納します。そうすれば、CSS から直接値を取得できます。

$("a[href]").each(function() {
    var link = this.href.replace(/^https?:\/\//, '');

    $(this).attr('data-href', link);
});

次に、CSS を次のように変更します。

a:before {
    content: 'This link goes to ' attr(data-href);

デモ: http://jsfiddle.net/dSHH4/1/

于 2012-10-31T18:52:56.857 に答える
3

a [href]はhref属性を選択しないため、この属性を持つ要素を選択するため、属性を手動で呼び出す必要があります。

$("a[href]").each(function() {
        var link = $(this).attr('href').replace('http://', '');
    });
于 2012-10-31T18:50:22.517 に答える
1

シンプル私はこれをしたいと思います:

<script type="text/javascript">
    $(function() {
        var withhref = $("a").attr("href"); alert(withhref);
        var withouthref = $("a").attr("href").replace("http://","");  alert(withouthref);

    })
    </script>

デモ

于 2012-10-31T19:00:39.550 に答える