2016-07-09 7 views
0

Prototype JSを使って動的にHTML要素にCSSを追加したいと思います。私は以下のコードを使用しています。Prototype JSを使って動的にCSSを追加する

var wrapper_content = $('wrapper').innerHTML; 
wrapper_content.img.setStyle({display:'inline'}); 

しかし、これは機能しません。

+0

は '.innerHTML'はちょうど(HTML要素ではありません)' wrapper'-要素内のHTMLを返しません。 'console.log($( 'wrapper'));で試して、何も返さないかどうか確認してください。それ以外の場合は、セレクタをチェックする必要があります。 – NoLifeKing

+0

お返事ありがとうございます@NoLifeKing。私は 'console.log($( 'wrapper'));をチェックし、コンソールでHTML要素を見ることができます。 '.innerHTML'はその要素のHTMLコンテンツを返します。しかし、私は 'wrapper_content'の画像にCSSを適用したいと思います。どうやってやるの ?? –

答えて

0

あなたがvar wrapper_content = $('wrapper img');

にあなたのセレクタを変更することができます。そして、あなたはこのwrapper_content.each(function(el) { el.setStyle({ 'display': 'inline' }); });

編集のように行うことができます。代わりに、プロトタイプJSと連携するための構文が変更されました。あなたがそう

$$('#wrapper img').invoke('setStyle',{'display':'inline'}); 

http://api.prototypejs.org/language/Enumerable/prototype/invoke/

+0

お返事ありがとうございます@NoLifeKing。ここではjQueryソリューションについて言及しましたが、Prototype JSソリューションが必要です。おかげで –

+0

ほぼ正しい。プロトタイプは、2つのドル記号を使用して、 "getElementById'の単なる短縮形である単一ドル記号に対して、"オブジェクトの集合を返す "ことを知らせる。 'var wrapper_content = $$( '#wrapper img');'を試してください。 – Walter

1

あなたはidを持つ要素の子である画像にスタイルを追加する方法について尋ねている私には思えます'wrapper':

$('wrapper').select('img').each(function(name,index) { 
    name.style.display = "inline"; 
}); 
0

ようinvoke()ユーティリティメソッドを使用することができますこのような場合には

0

私はGeek Num 88とT Gibbonsの組み合わせを数年間使用しています。そのCSSセレクタの組み合わせとスタイルの表示値の設定がより明白です。

$$('#wrapper img').each(function(name) { 
 
    name.style.display = "inline"; 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/prototype/1.7.3/prototype.js"></script> 
 
<div id="wrapper"> 
 
    <img style="display: none;" src="https://cdn0.iconfinder.com/data/icons/free-business-desktop-icons/128/Home.png" /> 
 
</div>

関連する問題