首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >对javascript变量调用jquery方法不起作用

对javascript变量调用jquery方法不起作用
EN

Stack Overflow用户
提问于 2019-05-10 03:25:01
回答 2查看 180关注 0票数 0

我尝试创建一个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来表示很酷,但除了控制台中出现的错误消息外,什么也没改变。

EN

回答 2

Stack Overflow用户

发布于 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');
票数 1
EN

Stack Overflow用户

发布于 2019-05-10 03:42:20

.get(i)返回jQuery集合中第i个元素的底层DOM元素。要获取jQuery对象,请使用.eq(i)

因此,它应该是:

let header = $(".header").eq(i);

header.innerText = "cool";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56066297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档