1
我有一個div
,我想添加一個使用PrototypeJS的新樣式。但是下面的腳本不起作用。它有什麼問題?使用PrototypeJS添加CSS樣式
<div class='exercise-main'>
</div>
$$('.exercise-main').setStyle({
backgroundColor: '#900',
fontSize: '12px'
});
我有一個div
,我想添加一個使用PrototypeJS的新樣式。但是下面的腳本不起作用。它有什麼問題?使用PrototypeJS添加CSS樣式
<div class='exercise-main'>
</div>
$$('.exercise-main').setStyle({
backgroundColor: '#900',
fontSize: '12px'
});
的$$
函數返回所有匹配的元件的陣列(如果有的話)。 setStyle
是一個元素方法,而不是一個數組方法。
這裏有幾個選項。
如果您只希望匹配單個元素,這將起作用。
$$('.exercise-main')[0].setStyle({color:'red'});
如果您想在每個匹配的元素上設置樣式,其中任何一個都可以工作。他們基本上是一樣的。
$$('.exercise-main').each(function(element) {
element.setStyle({color: 'red'});
});
或
$$('.exercise-main').invoke('setStyle', {color:'red'});
當然,如果你的元素有一個ID,您可以使用$
功能找到剛纔那個元素。這與$$
不同,因爲您不會將它傳遞給選擇器字符串,而只是傳遞給它的字符串(即不包含'#')。此外,這隻返回元素或null - 不是數組 - 不是數組 - 所以您可以直接從返回的值中使用元素方法,這與您最初嘗試的方法類似。
$('myElementId').setStyle({color:'red'});
如果我的答案有幫助,如果您接受我的回答,我會很感激。謝謝! (^ _ ^) – dontGoPlastic