bugfix> javascript > 投稿

素晴らしいコミュニティに感謝します。私はこのコードに苦労しています。window.location.href+文字列 '/ 1 /'のhrefリンクをjqueryreplaceWithタグにロードしようとしていますが、運が悪いので助けてください。 これは私のコードです:

var myhref=window.location.href+'/1/':
$j('.the-tag p').replaceWith('<a href="'.myhref.'">My Link</a>');

もう一度助けてくれてありがとう

回答 3 件
  • 以下のようなことをしようとしていますか? jqueryライブラリファイルを含める必要があります。そうすれば、以下が機能します。私が修正したコードでは:1行目の終わりに;

    var myhref = window.location.href + '/1/';
    $('.the-tag p').replaceWith('<a href="' + myhref + '">My Link</a>');
    
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="the-tag">
      <p></p>
    </div>
    
    

  • 現在のスクリプトに関するいくつかの問題...

    最初の行はで終了します : これにより構文エラーが発生します。あなたはおそらく意味しました ;

    JSで文字列を連結するには、 + オペレーター

    スクリプトが追加されます /1/ 完全なURLの最後まで。 URLにクエリパラメータまたはフラグメントが含まれていると、問題が発生します。パスプロパティのみを操作する必要があります

    const myhref = new URL(location)
    myhref.pathname += "/1/"
    $('.the-tag p').replaceWith($("<a>", {
      href: myhref,
      text: "My Link"
    }))
    
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="the-tag">
      <p></p>
    </div>
    
    

  • 代わりにこれを行う必要があります

    var myhref = window.location.href+'/1/';
    $.('.the-tag p').replaceWith('<a href="'+ myhref +'">My Link</a>');
    
    

    また、Jqueryライブラリがコードに追加されていることも確認する必要があります。

あなたの答え