首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.width()给出错误$(.)[0].width不是函数吗?

.width()给出错误$(.)[0].width不是函数吗?
EN

Stack Overflow用户
提问于 2016-01-04 15:03:22
回答 4查看 8.5K关注 0票数 4

我有一个表,我正在试图找到表中每个td的宽度。我尝试过各种变体:$("td")[0].width(),但它们都不起作用,每次都会出现错误:"Uncaught TypeError: $(...)[0].width is not a function"

我先导入jQuery,然后导入其他JS文件(https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js),我使用的是.width()而不是.width。

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-01-04 15:05:43

$("td")[0]是一个DOM元素,而不是jquery对象。简单地将其包装为jquery $($("td")[0]).width()

您需要获取每个td的宽度,这样您就可以使用以下内容

代码语言:javascript
复制
$.each('td', function() {
    var currentTDWidth = $(this).width(); // more code here
});
票数 5
EN

Stack Overflow用户

发布于 2016-01-04 15:05:51

使用eq(0)代替保留具有width()函数的jQuery对象。

票数 2
EN

Stack Overflow用户

发布于 2016-01-04 15:08:59

虽然您说我正在试图找到表中每个td的宽度,所以您需要使用.each()循环遍历tds。

代码语言:javascript
复制
$('td').each(function(){
   alert($(this).width());
});

要选择特定的td,有更多的方法

使用:eq()选择器

代码语言:javascript
复制
$('td:eq(0)');   // index start from 0

或jquery中的.eq()

代码语言:javascript
复制
$('td').eq(0)        // index start from 0

:nth-child()选择器

代码语言:javascript
复制
$('td:nth-child(1)');    // index start from 1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34594003

复制
相关文章

相似问题

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