Var divs = $(".txt");
这将返回divs
列表,其中包含class
txt。
我想将文本添加到选定的div中,例如:
divs[4].html("Hello World");
这个返回错误说divs[4].html
不是函数。为什么?
答案 0 :(得分:3)
当您通过其DOM数组索引访问jQuery对象时,您将获得HTML元素,而不是jQuery对象,它没有html()
函数。改为使用eq(n)
selector:
$(".txt:eq(4)").html("Hello World");
答案 1 :(得分: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
之后触发。
答案 2 :(得分:0)
非jQuery方式:
document.getElementsByClassName("txt")[4].innerHTML = "banananana!";
只是旁注:我建议在迁移到图书馆之前学习基本的浏览器javascript。 它将让您了解这些库的工作方式,并防止您被“锁定”到特定的几个