IE/FFうざす
DOMの作り方がちがうっぽい。フンガー!
仕方がないので走査する。一瞬でできた。やったーと思ったらIEでなんだか動かないのかも...
基本のアイデアは行けると思うんだけどなぁ。
つーか機能append前のhtmlが既にローカルファイルの状態でIEでよみこめねぇ。
で、何で読み込めないのかわからん。orz...
追記
IEでも動いた。会社でIE7でサーバ生成後のHTMLをwebブラウザ->保存して自宅でIE6でテストしたのが原因?
まぁ、どうでもいいっちゃどうでもいい。
あと、
javascript:/*jquery%20#find()%20tester*/alert($.find(prompt("Enter%20nodeName.","div")).length);
こういうtipsなブックマークレットを教えてもらった。goolgeとかからjQery持ってくるとかできるみたいな情報をLDR
経由でみた気がするからこのブックマークレットに追加すればJqery動いてないところでも動くよね!
週末に取りかかろう。add-onじゃなくてブックマークレットっていう汎用なアイデアがすてき。
サンクス。
//idもらってchildNodesのnameに一致する要素の数を返す。ループに使用すればいいよ! //標準でもありそう。 function getNodesLen(oyaStr,koStr){ var nodelist = document.getElementById(oyaStr).childNodes; var num = 0; for(var i=0;nodelist.length > i;i++){ //IEとFFとOPERAとSafariではDOM構成が違う。走査してチェックが必要。jQuery開けば一瞬なのかも。しらないけど if(nodelist[i].nodeName == koStr){ num++; } } return num; }
追記2 jQueryを読み込む版
http://hkom.blog1.fc2.com/blog-entry-544.htmlをコピペしました。ありがとうございます。
動作確認していません!
javascript:%20(function(){%20%20var%20s=document.createElement('script');%20%20s.setAttribute('src',%20'http://jqueryjs.googlecode.com/files/jquery-1.1.4.pack.js');%20%20%20%20document.getElementsByTagName('body')[0].appendChild(s);%20%20/*jquery%20#find()%20tester*/alert($.find(prompt("Enter%20nodeName.","div")).length)%20%20/*alert('using%20jQuery1.1.4!');*/%20%20})();
%20あたりは自動で変換してくれた空白だと思います。
追記 よく考えたら
jsで要素の数返すんじゃなくて要素を配列に突っ込んだ者を返せばよいのです。
いままでのは寒すぎた。