我尝试创建一个js变量,然后对该变量运行一个jquery方法。
for (var i = 0; i < $(".header").length; i++) {
let header = $(".header").get( i );
header.text("cool");
}
但是当我从变量上运行这个方法时,我得到了一个错误。
Uncaught TypeError: header.text is not a function
我试着将这两行连接在一起,但这是我能想到的全部。并且js文件肯定是连接到页面的。头类来自我的html文件,我尝试了一些console.log(),它肯定是在选择元素。
我原以为这段代码会更改两个元素,在html中使用类.header来表示很酷,但除了控制台中出现的错误消息外,什么也没改变。
发布于 2019-05-10 03:34:56
正如您在documentation for jQuery .get()
方法中看到的,.get()
方法授予对每个jQuery对象底层的DOM节点的访问权限。并且DOM节点没有任何text()
方法。
因此,您只需要在$()
中再次包装header
,使其成为jQuery对象:-
for (var i = 0; i < $(".header").length; i++) {
let header = $(".header").get(i);
$(header).text("cool");
}
尽管有一种简单的方法可以做你想做的事情:
$(".header").text('cool');
发布于 2019-05-10 03:42:20
.get(i)
返回jQuery集合中第i个元素的底层DOM元素。要获取jQuery对象,请使用.eq(i)
。
因此,它应该是:
let header = $(".header").eq(i);
或
header.innerText = "cool";
https://stackoverflow.com/questions/56066297
复制相似问题