0

div タグ内にある asp:bulletedlist コントロールがあり、コントロール内のリスト項目の数をカウントする必要があります。インターネットを検索し、アイテムによって返されたhtmlがリストであるという事実に注意してください。つまり<li>、次の例を使用できると思いました。

var listcontrol = document.getElementById('BulletedList1');
var countItems = listcontrol.getElementByTagName('li').length;

ただし、これを行うと、このコントロールにオブジェクトが存在しないというエラーがスローされます。

だから、私の問題は、これを使用して div タグの高さを設定したいので、このクライアント側で行う必要があるため、javascript を使用して asp:bulletedlist コントロール内のアイテムの数をどのように数えますか?

4

1 に答える 1

1

レンダリング時のAsp.Netコントロールの実際のIDは、コントロールのIDに設定したものとは異なるため、使用しているようにdocument.getElementByIdを使用することはできません。ページのソースを表示すると、実際の ID が何であるかがわかります。その後、必要に応じてそれを使用できます。このコードは機能するはずですが、箇条書きリスト コントロールを移動すると、階層が変更されるため、機能しなくなります。

これを行う別の方法は、jQuery を使用することです。あなたの例では、これを行うことができます:

$('[id$=BulletedList1]').children('li').size()

これにより、'BulletedList1' で終わる要素が選択され、li の子が取得され、コレクションのサイズが返されます。

于 2010-03-12T17:11:47.660 に答える