2017-02-03 18 views
0

私はリストに表示しようとしていますが、コードではすべて出力が[オブジェクトHTMLUListElement]になっています。私はちょうど「価値」そのものを追加する場合、それアウトは、ULのを置きますが、私は最初の変数に入れている場合、私はちょうど[オブジェクトHTMLUListElement]取り戻す:オブジェクトの内容の代わりに[オブジェクトHTMLUListElement]を取得する

私が間違っているつもりです
var listFind = $('.yCmsContentSlot'), 
    navLinks = listFind.find('ul'), 
    navLinksTotal = navLinks.length, 
    listContainer = $('.search-error__content-bottom-list'); 

    if (navLinksTotal >= 5) { 
     navLinksTotal = 3; 
    } 

    var navBlockSize = 12/navLinksTotal; 

    $(navLinks).each(function(key, value) { 
     var navListBlock = '<div class="col-md-' + navBlockSize + '">' + value + '</div>'; 
     listContainer.append(navListBlock); 
    }); 

答えて

1

jQueryセレクタは、セレクタと一致する任意の要素へのネイティブ参照を含む配列のようなオブジェクトを返します。

次に、この配列のようなオブジェクトをeach()で繰り返します。

この点を念頭において、各ULへの参照がコールバックに渡されることが分かります。したがって、valueは、要素そのものを指す(不適切な名前の)変数です。あなたが現在見ているのは、そのプロパティではなく、オブジェクトを出力する、つまり文字列に変換しようとした結果です。

さらに、要素の内部HTMLを取得する方法を知る必要があります。

value.innerHTMLによって行われます。

ベターvalueelementの名前を変更するだろう - と我々は賢明なネーミングを話している間、navLinksはおそらく、むしろ、リスト要素をリンクではなく、格納する変数のための最高の名ではありません。

関連する問題