0

ねえ、すべてのスタックオーバーフローを見てみると、これはよくあるエラーのように見えます。頭を包み込むことはできません。Rails 3.1 に移行する準備として、純粋な JS から jquery にサイトをアップグレードするのに忙しいので、次の JavaScript を使用します。

 :javascript
   ["Ownership", "Management", "EmploymentEquity", "SkillsDevelopment", "PreferentialProcurement", "EnterpriseDevelopment", "SocioeconomicDevelopment"].each(function(element) {
     $$('.' + element).each(function(s) {
       s.toggle();
     });
 });

したがって、基本的にはCSSクラスの配列を介して実行され、それらを切り替えます。これをjQuery libで実行すると、次のようなエラーが発生します

Uncaught TypeError: Object Ownership,Management,EmploymentEquity,SkillsDevelopment,PreferentialProcurement,EnterpriseDevelopment,SocioeconomicDevelopment has no method 'each' 

今、私は一度に1つの要素をテストしてjQueryを動作させようとしていますが、少なくともこれは私がこれまでに持っているものです.

$("OwnershipHeader").click(function () {
$("Ownership").toggle("slow");
});

非常に単純なので、ヘッダーをクリックすると、その子が切り替わります。コンソールにそれを入力すると、問題なく動作します。粗いヘッダーをクリックするまで:

Uncaught ReferenceError: $$ is not defined

これは本当に単純なようですが、毎回壊れています...私はjQueryに比較的慣れていないので、以前にJquery UIライブラリを使用したことがあります。任意の提案をいただければ幸いです

4

3 に答える 3

1

Uncaught TypeError: Object Ownership,Management,EmploymentEquity,SkillsDevelopment,PreferentialProcurement,EnterpriseDevelopment,SocioeconomicDevelopment にはメソッド 'each' がありません

私はあなたが意味したと思いますforEach。ただし、これはすべてのブラウザーで機能するわけではないため、jQuery のeach関数を使用します。

$.each(["Ownership", "Management"], function(i, element) {...

Uncaught ReferenceError: $$ が定義されていません

jQuery は単一のドル記号 ( $)を使用します

$("OwnershipHeader").click(function () {
  $("Ownership").toggle("slow");
});

jQuery セレクターは、ほとんどが CSS セレクターに似ています。したがって、これは機能するはずです:

$(".OwnershipHeader").click(function () {
  $(".Ownership").toggle("slow");
});
于 2012-08-28T14:27:47.397 に答える
0

これを試して。

var array = ["Ownership", "Management", "EmploymentEquity", "SkillsDevelopment", "PreferentialProcurement", "EnterpriseDevelopment", "SocioeconomicDevelopment"];

$.each(array, function(i,element) {
    $('.' + element).toggle();
});

$$とを提供する PrototypeJS で以前にコーディングされていたよう[].eachです。

.togglePrototypeJS と jQuery で同じ動作になるかどうかはわかりません。

于 2012-08-28T14:23:53.347 に答える
0
var col = ["Ownership", "Management", "EmploymentEquity", "SkillsDevelopment", "PreferentialProcurement", "EnterpriseDevelopment", "SocioeconomicDevelopment"];
$.each(col,function(i,e){
  $('.'+e).each(function(j,s){
    $(s).toggle();
  });
})

*jqueryでは、まず変数が定義されておらず、定義されている$$だけ$です。
*次に、各関数は前述のように使用され、関数に渡される最初の変数はそれぞれに提供され、2 番目の変数はそれぞれindex in arrayの実際のelement 外観であり、ドキュメンテーションを切り替えます

于 2012-08-28T14:24:18.720 に答える