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オブジェクトにインデックスを付けると、jQueryラッパーではなく、その位置にある生のDOM要素を取得します。そして、それはget関数にも当てはまります。(実際、負のインデックスを使用しない限り、get実際には向きを変えて[]実行します。負のインデックスを使用すると、もう少し作業が増えます。)

最初の要素の幅が必要な場合(私はそれwithが意図されていたとwidth思います)、デフォルトでは、セットでそれを呼び出すとそれが得られます:

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

そのセットには複数の要素が含まれている場合がありますが、通常、jQueryの「get」操作はセットの最初の要素に作用します。(APIは非対称であり、「セット」操作はセット全体に作用します。)

2番目の要素の幅が必要な場合:

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(); 

with()jQueryにはメソッドがありません。width()

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

domノード(jQueryオブジェクトではない)を取得した後、別のjQuery( )メソッド.get(0)をチェーンすることはできませんafter()

于 2012-05-18T07:50:45.487 に答える