2016-07-09 78 views
0

我想使用Prototype JS將CSS添加到HTML元素中。我使用下面的代碼。使用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內容。但我想申請css的'wrapper_content'的圖片。我怎樣才能做到這一點 ?? –

回答

0

你可以選擇你改變var wrapper_content = $('wrapper img');

然後你就可以像這樣wrapper_content.each(function(el) { el.setStyle({ 'display': 'inline' }); });

編輯:改變了語法與原型JS工作來代替。

+0

感謝@NoLifeKing的回覆。你在這裏提到jQuery解決方案,但我需要Prototype JS解決方案。謝謝 –

+0

幾乎正確。原型使用兩個美元符號來表示「返回一組對象」,而不是單個美元符號,它只是'getElementById'的簡寫。試試'var wrapper_content = $$('#wrapper img');'。 – Walter

0

在我看來,你是問有關將風格與該ID的元素的兒童形象'包裝':

$('wrapper').select('img').each(function(name,index) { 
    name.style.display = "inline"; 
}); 
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>