1

ページの最初のリンクをJavaScriptで印刷したいと思います。しかし、次のコードを使用すると、機能しません。

<html>
    <head><title></title></head>
    <body>
        <a id="mylink" href="http://google.com">Google</a><br />
        <script>            
            a=$('mylink').href;
            document.write(document.links[0]);                  
        </script>
    </body>
</html>

それから私はコード""をコメントアウトしましたa=$('mylink').href、それは突然働きました、なぜですか?なぜ変数aは次のステートメントに影響を与えるのですか?

どんな答えでも大歓迎です。

4

5 に答える 5

2

いくつかの可能性があります:

  1. オブジェクト$が定義されていないため、2 番目のステートメントの実行を妨げる JavaScript エラーが発生しました
  2. オブジェクトは、$渡された文字列とエラーをどう処理するかを知りません
  3. からの戻り値には、プロパティを$持たない値 (つまり、 を返す) がなく、JavaScript エラーが発生します。undefinedhref
于 2012-05-01T01:09:24.473 に答える
1

あなたの例では $ オブジェクトが存在せず、エラーが発生するため、コードは機能していません。jQuery ($ オブジェクト) のような JavaScript フレームワークを使用しようとしていたようですが、それを含めるのを忘れていました。

次のスクリプト タグを追加してみてください。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

jQuery を使用する場合は、.attr("attrname") 関数を介して属性にもアクセスする必要があります。例えば

var a = $('#mylink').attr('href');

繰り返しますが、jQuery を使用する場合は、セレクターを「mylink」から「#mylink」に変更して、ID「mylink」の要素を検索していることを指定する必要があります。

于 2012-05-01T01:16:03.017 に答える
0

あなたが何をしようとしているのか少し混乱していますが、リンク全体を js で書いていただけないでしょうか? 元:

<script>
<!--
document.write('<a href="http://google.com">Google</a>');
-->
</script>
<noscript>
<a href="http://google.com">Google</a>
</noscript>

スクリプト内のコメント タグは無視され、存在するだけなので、javacript をサポートしていないブラウザーではドキュメントに出力されません。これ<noscript>は、javascript をサポートしていないブラウザーが代替コンテンツを持つようにするためです。

于 2012-05-01T01:14:10.483 に答える
0

a=$('mylink').href次のコードの実行に失敗して実行を停止するため、機能しません。コードdocument.write(document.links[0])は正しいです。前の間違った行なしで呼び出すと、うまくいきます。

最初の行で jQuery ライブラリを使用しようとしていると思います。実行したい場合は、<script>タグを使用して jQuery ライブラリをインクルードし、次のコードを使用する必要があります。

document.write($('a:first').attr("href"));
于 2012-05-01T01:14:51.620 に答える
0

jQueryのものを削除するだけです。必要ありません。既に発見したように、document.linksコレクションがあるため、ドキュメントの最初のリンクの herf 値を出力したい場合:

document.write(document.links[0].href)

これで完了です。

于 2012-05-01T02:37:49.577 に答える