2012-01-27 7 views
2

나는 약간의 질문을 물었고 유용한 조언을 얻었습니다. 사용자가 YouTube URL을 목록에 추가 할 수있는 정렬 가능한 목록을 만들려고합니다. 그것은주고있다 그러나jQuery, Object '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 및 목록에 "큐"링크를 추가하려면 다음 자바 스크립트를 사용하려면

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

     </ul> 
     </div> 
:

객체 [개체 개체] (크롬) 나 오류가

내 HTML은 다음과 같습니다있는 방법 'innerHTML을을'이 없다

이것이 작동하도록하는 데 도움이 될 수 있습니다.

답변

4

innerHtml은 jQuery 객체의 메소드가 아니라 DOM 요소의 속성입니다. 대신 html()을 사용하십시오.


편집 :

주석에 관련하여 :

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

이 새로운 <li> - 요소를 만들지 않습니다, 그것은 문서 내에서 기존 <li> -elements 걸립니다.

그것은 여기에 동일합니다 jQuery를에 새로운 요소가

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

를 사용하여 만들려면 ...

var $link = $('a') 

하는 것이되어야한다

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

jQuery를 함께 사용하지 마십시오 자바 스크립트 (DOM)

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

JQuery와 $() 대한 태그를 기대하면서 파라미터로서 기대 createElement() 태그 이름은 DOM-있어서의 자바 스크립트 (DOM) 웨이가 요소를 생성하는 것이다.

+0

예, 오류를 중지했지만 새 목록 요소가 표시되지 않습니다. 나는 JS와 JQuery에 조금 익숙하다. 그래서 간단한 질문을하면 용서해주세요. –

+0

@ user1126921 : 내 편집 게시판보기 –

+0

대단히 감사합니다! 완벽하게 작동합니다! –

관련 문제