0

Var divs = $(".txt");这将返回一个divs带有classtxt 的列表。例如,我想向选定的 div 添加文本: divs[4].html("Hello World");返回错误的 thisdivs[4].html不是函数。为什么 ?

4

3 回答 3

3

当您通过其 DOM 数组索引访问 jQuery 对象时,您将获得 HTML 元素,而不是 jQuery 对象,它没有该html()功能。改用eq(n)选择器

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

divs[0]是给你一个 DOM 引用,而不是一个 jQuery 对象。因此,将其传递给 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 回答