2016-09-27 12 views
-1

私はhtmlテンプレートを持っています(jquery、js、すべてが頭にインポートされています)。だからここにこの部分は、私は、ID「ボード・ページ」を持つ既存のpの前に新しい段落を付加しよう:htmlの前にhtmlを追加

<div class="container"> 
    <div class="row"> 
     <div class="col-md-12"> 
      <p id="board-page">some text</p> 
     </div> 
    </div> 
</div> 

そして、ここでは私のjavasriptです:

var boards = []; 

function Board(title) { 
    this.title = title; 
} 

function appendBoards() { 
    for (var i in boards) { 
     var board = boards[i]; 
     var title = board.title; 
     $("#board-page").prepend("<p>"+title+"</p>"); 
    } 
} 

addNewBoardWithTitle("some other text"); 
addNewBoardWithTitle("other text"); 
appendBoards(); 

しかし、これはしていません仕事は、何も起こらない。私はここで間違って何をしていますか?

+3

あなたのコードスニペットでは、より多くのコードを入れて 'boards'はprepend'が呼び出されないであろうと、それは我々がないことを意味し'て空の配列であります'appendBoards'が使用しているデータをチェックしてください。 – GillesC

+1

'addNewBoardWithTitle'のコードも投稿 – GillesC

答えて

1

あなたは、このためのinsertBeforeを使用することができます。..

var boards = []; 

function Board(title) { 
    this.title = title; 
} 

function appendBoards() { 
    for (var i in boards) { 
     var board = boards[i]; 
     var title = board.title; 
     $("<p>"+title+"</p>").insertBefore("#board-page"); 
    } 
} 

addNewBoardWithTitle("some other text"); 
addNewBoardWithTitle("other text"); 
appendBoards(); 
+0

ありがとう、完璧に動作します! – dmbdnr

0
var boards = []; 

function addBoard(title) { 
    var obj = {} 
    obj["title"] = title; 
    boards.push(obj) 
} 

function appendBoards() { 

    for (var i in boards) { 
    var board = boards[i]; 
    var title = board.title; 
    $("#board-page").prepend("<p>" + title + "</p>"); 
    } 
} 
addBoard("tes") 
appendBoards() 

また、ループ内に追加/追加しないでください。むしろ、すべてを文字列に集めて1つ前に追加してください。 https://jsfiddle.net/rbpgva4c/

関連する問題