css()
jqueryの機能で要素の可視性を変更したいのですが、うまくいきません。おもしろいことに、私のサイトの他の場所でも同じ構文が機能し、コードの同じ行で CSS パラメーターと値を変更することもでき、機能します。しかし、それは可視性のために機能しません。
私のクエリ:
$('.promo_container').each(function(promoIndex){
var $_this = $(this);
$_this.css({'visibility':'visible'});
console.log($_this); //This is the correct output ie. the right element
});
紛らわしいのは、この構文を別のjsファイルで使用していて、それが機能することです。私がこの行を変更すると、私の心を吹き飛ばすのは...
$_this.css({'visibility':'visible'});
...これに...
$_this.css({'background':'red'});
...できます!!Chrome で開発者コンソールを開くと、動的に設定された背景色のスタイルが表示されます。可視性の変更に戻ると、コンソールに動的に設定されたスタイルはありません。何も上書きしないように表示visibility
されます。hidden
しかし、それは上書きされるべきですよね?
編集
問題は要素が表示されないことではなく、動的に適用されたスタイルが開発者コンソールに何も表示されないことです。また、コンソールでパラメーターのチェックを外すとvisibility:hidden
、要素が表示されるため、要素を非表示にするのはこれだけです。
私はちょうどこれを試しました:
$_this.show();
機能していません。要素は非表示のままです。もう一度言いますが、セレクターを変更せずに CSS を変更すると正常に動作するため、間違った要素をターゲットにしているわけではありません。唯一の問題は、CSS が可視性を設定しているときです。
のCSS $_this
:
overflow:hidden;
visibility:hidden;
position:relative;
height:100%;
HTML は問題にならないはずですが、これは私の要素のマークアップです:
<div class="promo_container" data-random="{if $controller->startOn == 1}random{/if}">
...
//That is Smarty syntax inside the element above,
it is working fine and should not be affecting anything
</div>
編集2
タイプミスでした。visibile
の代わりに持っていましたvisible
。:D