2012-01-27 10 views
2

私は少し質問をして助けを得ました。私はユーザーがリストにYouTubeのURLを追加することができますソート可能なリストを作成しようとしています。それが与えているしかしjQuery、オブジェクトにはメソッド 'innerHtml'がありません

_videoId = _videoUrl.replace(/^[^v]+v.(.{11}).*/,"$1"); 
//place the Videoid in an array 
_videoList[_videoList.length] = _videoId; 
var $new_element = document.createElement('li'); 
//set the id of the li element to match it's position in the array 
var refId = _videoList.length; 
$new_element = $('li').attr('id', refId); 
var $link = $('a') 
.attr('href', _videoUrl) 
.innerHtml(_videoUrl) 
.data('refId', refId) // add parent li's id for reference in click event 
.appendTo($new_element) 
.bind('click', function(){ 
    cue($link.data('refId')); 
    return false; // prevent browser's default click event 
}); 

$new_element.appendTo(container); 

:私はそれがIDを取得し、配列にそれを置くために設定されている、私はそれは動画のURLとリストの「キュー」のリンクを追加するには、以下のJavaScriptを使用したいです

<div id="hostPanel"> 
     <div id="videoList"> 
     <ul id="sortable"> 

     </ul> 
     </div> 

オブジェクト[オブジェクトのオブジェクト](クロムで)私の誤差が

私のHTMLは次のようになります何のメソッド 'innerHTMLプロパティ' を持っていません

これを動作させるための助けがあればいいですね。

答えて

4

innerHtmlはDOM要素のプロパティであり、jQueryオブジェクトのメソッドではありません。代わりにhtml()を使用してください。


編集:コメントにについて

:これは新しい<li> -elementを作成しません

$new_element = $('li').attr('id', refId); 

、それは文書内の既存の<li> -elementsをとります。

$new_element = $('<li/>').attr('id', refId); 

を使用jQueryの中に新しい要素を作成するには

それはここに同じです:

var $link = $('a') 

...は

var $link = $('<a/>') 

はjQueryのを混ぜて使用しないでくださいなければならず、 Javascript(DOM)

Thi

var $new_element = document.createElement('li'); 

jQueryの$()のマークアップを期待しながらパラメータとしてtagNameをを期待createElement() DOM法:SのJavaScript(DOM)-way要素を作成することです。

+0

はい、エラーは停止しましたが、新しいリスト要素は表示されません。私は、JSとJQueryの少し新しいです。私が簡単な質問をするなら、私を許してください。 –

+0

@ user1126921:私の編集された投稿を参照してください –

+0

ありがとうございました!完璧に動作します! –

関連する問題