2012-03-21 2 views
0

안녕하세요 jquery에 멍청한 사람들입니다. jquery를 순수 자바 스크립트와 섞어도 괜찮습니다.하지만 다음 코드가 작동하지 않는 원인인지 확인하고 싶습니다. 내가 잘못하고 있는게 뭔가 다른 거니?jquery와 js를 섞는 데 어려움이 있습니다.

var fnd_child = $('#thumb_slider').children().length; 

$(document).ready(function(){ 
    $('#basic_div').innerHTML = fnd_child; 
}); 

basic_div에는 아무런 변화가 없습니다. 단지 비어 있습니다. 심지어 단추에이 함수를 연결하려고 시도했지만 여전히 아무 일도 발생하지 않습니다. 나는 얼마나 많은 아이들이 basic_div에 있는지 알 필요가 있고 그 숫자를 화면에 출력합니다. 감사!

+1

*** 믹스 js와 자바 스크립트 *** * js = 자바 스크립트 *. 당신은 jQuery를 의미합니다 ..하지만 jQuery는 자바 스크립트입니다. –

+0

예. javascript를 의미하지만 .innerHTML은 자바 스크립트입니다 ... 문제의 원인인지 궁금 해서요 .Jquery API의 일부가 아닙니다. –

답변

1

(fnd_child 이후 은 텍스트입니다) 항상 준비 문서 내에서 DOM 요소에 액세스하는 것이 안전합니다. 이렇게하면 dom이로드 된 후에 액세스 할 수 있습니다. html 메서드를 사용하여 값을 설정하기 만하면됩니다. 그것은 작동해야합니다. http://jsfiddle.net/vrfAZ/

+0

감사합니다. 정말 도움이되었습니다. –

+0

@DigitalBrent : 그것이 당신을 위해 일하고 있다는 것을 알고 기쁘다. – Shyju

4

$('#basic_div')은 DOM 요소가 아니라 jQuery 객체를 반환하는 선택기입니다.

$('#basic_div')[0]은 요소를 얻지 만 대신 $('#basic_div').html()을 사용하지 않으시겠습니까?

1

.html() 메서드를 사용해야합니다.

$('#basic_div').html(fnd_child); 

및 더 나은 사용 .text() 방법

$('#basic_div').text(fnd_child); 
0

또한 수행 할 수 있습니다 : 선택기와의 jQuery 함수를 호출

document.getElementById('basic_div').innerHTML = fnd_child; 

요소를 보유 "의 jQuery 객체"에 의해 선택된 반환 여기

$(document).ready(function(){ 
    var fnd_child = $('#thumb_slider').children().length; 
    $('#basic_div').html(fnd_child); 
}); 

는 작업 데모입니다 배열 내의 셀렉터 그런 다음 동등한 DOM 메소드를 대체하는 메소드와 요소 속성 (또는 때로는 속성)을 설정하거나 리턴하는 더 많은 메소드가 있습니다. 그래서 jQuery를 버전 대신 innerHTML 속성에 할당

, 당신은 html 메서드를 호출하고 매개 변수로 대체 HTML을 제공해야합니다

본질적으로 선 위에서 무엇을하지
$('#basic_div').html(fnd_child); 

, 그러나 더 많은 함수 호출이 있습니다.

관련 문제