2012-03-21 15 views
0

私はjqueryのnoobですが、jqueryを純粋なjavascriptと混ぜても大丈夫だと聞いたことがありますが、それが次のコードの原因になっているかどうか、私が間違っている何か他のものですか?jqueryとjsを混在させるのに問題があります

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

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

basic_divでは何も起こりません。ただ空です。私はこの機能をボタンにつけてみましたが、何も起こりません。私はちょうど何人の子供がbasic_divにいるのかを知り、その数字を画面に表示する必要があります。ありがとう!

+1

*** mix js with javascript *** * js = JavaScriptの略。あなたはjQueryを意味しますが、jQueryはjavascriptでもあります。 –

+0

はい、javascriptを意味しますが、.innerHTMLはjavascriptです.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

:ここ

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

が動作デモですセレクタとjQueryの関数を呼び出す

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

はにより選択された要素を保持している「jQueryオブジェクト」を返します配列内のセレクタ。その後、同等のDOMメソッドを置き換えるメソッドと要素プロパティ(または時には属性)を設定または返すメソッドが追加されています。

だから、jQueryのバージョンのため、代わりにinnerHTMLプロパティに割り当てるので、あなたがhtmlメソッドを呼び出す必要があり、パラメータとして代替HTMLを提供します。基本的にちょうど上記の行が何をし

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

、より多くの関数呼び出しがあります。

関連する問題