0

Var divs = $(".txt");これにより、 txtdivs付きのリストが返されます。classたとえば、選択したdivにテキストを追加したいのですが、 これは関数ではないというdivs[4].html("Hello World");エラーが返されます。divs[4].htmlなぜ ?

4

3 に答える 3

3

DOM配列インデックスを使用してjQueryオブジェクトにアクセスすると、関数を持たないjQueryオブジェクトではなくHTML要素を取得しますhtml()。代わりにeq(n)セレクターを使用してください。

$(".txt:eq(4)").html("Hello World");
于 2012-08-19T23:08:22.560 に答える
2

は、jQueryオブジェクトではなくdivs[0]、DOM参照を提供します。したがって、それをjQuery関数(の省略形)に渡します。$()jQuery()

$(document).ready(function(){
    var divs = $('.txt');

    $(divs[4]).html('this one');
});

http://jsfiddle.net/userdude/unu8g/

$(document).ready()DOMにアクセスできるようになるまで待機するの使用にも注意してください。$(window).load()後に発砲する可能性がありますが、これにも十分ですonDOMReady

于 2012-08-19T23:14:03.100 に答える
0

jQuery以外の方法:

document.getElementsByClassName("txt")[4].innerHTML = "banananana!";

補足:ライブラリに移動する前に、基本的なブラウザのJavaScriptを学ぶことをお勧めします。これにより、そのようなライブラリがどのように機能するかを理解でき、特定の少数のライブラリに「ロックイン」されるのを防ぐことができます。

于 2012-08-19T23:16:01.110 に答える