Var divs = $(".txt");
这将返回一个divs
带有class
txt 的列表。例如,我想向选定的 div 添加文本:
divs[4].html("Hello World");
返回错误的 thisdivs[4].html
不是函数。为什么 ?
问问题
90 次
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 回答