1

我是 Jquery 的新手,我无法访问 Jquery 对象中的元素。

var iconNumber=$('#tblFeedControlBar').find('td').length;    // 8 
var iconNumber=$('#tblFeedControlBar').find('td')[0].width(); // error
$('#tblFeedControlBar').find('td').get(0).after(iconArrow);  // error
4

3 回答 3

3

当您索引到一个 jQuery 对象时,您会在该位置获得原始DOM 元素,而不是它的 jQuery 包装器。get函数也是如此。(事实上​​,除非你使用负索引,否则get真的只是转身[]为你做;使用负索引它会做更多的工作。)

如果你想要第一个元素的宽度(我假设withwidth),默认情况下,如果你在集合上调用它,你会得到:

var iconNumber=$('#tblFeedControlBar').find('td').width();

尽管该集合中可能有多个元素,但通常 jQuery 的“get”操作作用于集合中的第一个元素。(API 是不对称的;“set”操作作用于整个集合。)

如果你想要第二个元素的宽度:

var iconNumber=$($('#tblFeedControlBar').find('td')[1]).width();

或者使步骤更清晰:

var rawSecondElement = $('#tblFeedControlBar').find('td')[1];
var wrapperForIt = $(rawSecondElement);
var getItsWidth: wrapperForIt.width();
于 2012-05-18T07:50:51.253 回答
0

对 DOM 元素的引用不应该有with()方法,这应该会导致...

undefined不是函数。

...错误。

于 2012-05-18T07:49:56.823 回答
0
var iconNumber=$('#tblFeedControlBar').find('td')[0].with(); 

jQuery中没有with()方法,也许你的意思是width()

$('#tblFeedControlBar').find('td').get(0).after(iconArrow); 

.get(0)你得到 dom 节点(不是 jQuery 对象)之后,你不能链接另一个 jQuery ( after()) 方法

于 2012-05-18T07:50:45.487 回答