2016-07-02 4 views
0

以下のコードでは、ユーザーがボタンをクリックすると、URLの入力を要求されます。 URLを入力すると、新しいi要素が作成され、入力されたURLへのリンクがaタグとしてラップされます。divの周りをリンクする方法jQuery?

コードは動作しますが、リンクタグは作成されません。どのようにすればいいですか?

新しいリンクは、その特定のdivだけを囲む必要があります。

ありがとうございました。

<script type="text/javascript"> 
    $(function() { 
     $(".twitter_new").click(function() { 
      link = prompt("Paste a url"); 
      if (link == null) { 
      return; 
      } 
      else { 
      div = document.createElement('i'); 
      $(div).addClass("fa").addClass("fa-twitter").wrapAll('<a href="' + link + '"></a>'); 
      $(".icons").append(div); 
      } 
     }); 
    }); 
</script> 

答えて

0

wrapAll()式は、変数divの内容を変更しません。新しいオブジェクトを返します。

あなたはまだ元 i要素を追加している

だけ

私はあなたが2つの要素を作成することをお勧めまたは

// create `<i>` 
var $i = $('<i>',{class: 'fa fa-twitter'}); 
// create <a> and append <i> 
var $a = $('<a>', {href:link}).append($i); 
// append complete <a> to dom 
$(".icons").append($a); 
+0

ありがとうHTML文字列としてすべてこれを行う、これは完全に働きました! –

関連する問題