0

「.comments」内の値を使用して変数を作成し、「4 つのコメント」の前に「すべてを読む」という単語を追加しようとしています。最後に、新しい変数を「#comments」に追加します。

なんとか何かを書きましたが、既存のオブジェクトの値で新しいオブジェクトを作成するのではなく、既存のオブジェクトを移動しています。

以下のコード

<script type="text/javascript">
var commentsLink = document.querySelector('.story .comments a'),    
    commentsSubmit = document.querySelector('#comments .form-item-submit');
commentsLink.innerHTML = 'Read all ' + commentsLink.innerHTML;
commentsLink.className += 'readComments';
commentsSubmit.appendChild(commentsLink);
</script>

<div class="story">
     <div class="comments">
           <a href="http://foo.com">4 comments</a>
     </div>
</div>
<div id="comments">
     <div class="form-item-submit">Submit</div>
</div>

望ましい結果:

<div class="story">
     <div class="comments">
           <a href="http://foo.com">4 comments</a>
     </div>
</div>
<div id="comments">
     <div class="form-item-submit">Submit</div>
     <a href="http://foo.com" class="readComments">Read all 4 comments</a>
</div>

誰でもこれに光を当てることができますか?Jquery は使用しないでください。

4

3 に答える 3

1
  1. 要素を複製するには、 を使用しますcloneNode。テキストの内容もコピーするには、 を使用しますcloneNode(true)
  2. 複製されたリンクを、送信自体の内部ではなく、送信の要素に追加する必要があります。divdiv

http://jsfiddle.net/eDGwj/

var commentsLink = document.querySelector('.story .comments a').cloneNode(true),
    commentsSubmit = document.querySelector('#comments .form-item-submit');

commentsLink.innerHTML = 'Read all ' + commentsLink.innerHTML;
commentsLink.className += 'readComments';

commentsSubmit.parentNode.appendChild(commentsLink);
于 2011-09-21T07:44:42.933 に答える
0

このようなもの:

<script type="text/javascript">
var commentsLink = document.querySelector('.story .comments a'),    
    commentsSubmit = document.querySelector('#comments .form-item-submit'),
    anchor = commentsLink.cloneNode(false);

anchor.innerHTML = 'Read all ' + commentsLink.innerHTML;
anchor.className += ' readComments';

commentsSubmit.parentNode.appendChild(anchor);
</script>
于 2011-09-21T07:43:38.050 に答える
0

これはあなたが望むものだと思います。そうでない場合はコメントしてください:

<script type="text/javascript">
    var commentsLink = document.querySelector('.story .comments a'),    
        commentsSubmit = document.querySelector('#comments .form-item-submit');
    var cloneLink = commentsLink.cloneNode(true);
    cloneLink.innerHTML = 'Read all ' + commentsLink.innerHTML;
    cloneLink.className += 'readComments';
    commentsSubmit.appendChild(cloneLink);
</script>

重要な機能は cloneNode() でした。ID に注意してください

より詳しい情報

お役に立てれば

于 2011-09-21T07:44:27.800 に答える