如果網頁中一個
成都創新互聯-專業網站定制、快速模板網站建設、高性價比赤壁網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式赤壁網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋赤壁地區。費用合理售后完善,10多年實體公司更值得信賴。
id為“no”的標簽,暫且當div標簽來tell;
想要在js中設置這個div的css樣式,很一般的做法是:
var
obj
=
document.getElementByIdx_x_x('no');
obj.style.width
=
'400px';
obj.style.height
=
'300px';
如果要設置一堆又一堆的css樣式呢,太麻煩了把、
一般情況下都會結合css來添加className或者改變className達到想要的效果,但是如果你create一個元素,難道還想這樣簡單點?那就要想別的辦法了~
于是大家就寫了一個又一個的函數,經典的兩個是:
var
obj
=
document.getElementByIdx_x_x('no');
function
setStyle(obj,
css)
{
for(var
attr
in
obj){
obj.style[attr]
=
css[attr];
}
}
setStyle(obj,{width:"400px",height:"300px"});
當然還有更簡單的,cssText:
var
obj
=
document.getElementByIdx_x_x('no');
obj.style.cssText
=
"width:400px;
height:300px;";
當然這種方法對于create的元素初始化css樣式來說很簡單很方便。
以上就是小編為大家帶來的js中用cssText設置css樣式的簡單方法的全部內容了,希望對大家有所幫助,多多支持腳本之家~
通過js來改變CSS屬性,使用jQuery可以很方便的實現,像這樣:
$("img").css('border-color','red');
就可以把邊框顏色都變成紅色。
這是針對此問題的測試頁面
2、這是3張圖片
img src=';fm=11gp=0.jpg'
img src=';fm=11gp=0.jpg'
img src=';fm=11gp=0.jpg'
3、這是圖片的樣式,邊框默認為灰色。
img{
max-width:200px;
border-color:gray;
border-width:10px;
border-style:solid;
}
4、現在通過這幾行用到jQuery的代碼,控制圖片邊框根據鼠標移入移出邊框變灰和變紅。
$(function(){
$("img").on('mouseover',function(){
$(this).css('border-color','red');
}).on('mouseout',function(){
$(this).css('border-color','gray');
});
});
5、效果如圖
語法:元素.style.樣式名=樣式值
注意:如果CSS的樣式名中含有-,這種名稱在JS中是不合法的,比如 background-color 。需要將這種樣式名修改為駝峰命名法:去掉-,然后將-后的第一個字母大寫,比如 backgroundColor
我們通過style屬性設置的樣式都是內聯樣式,而內聯樣式有較高的優先級,所以通過JS修改的樣式往往會立即顯示
但是如果在樣式中寫了!important,則此時樣式會有最高的優先級,即使通過JS也不能覆蓋該樣式,此時將會導致JS修改樣式失效
所以盡量不要為樣式添加!important
語法:元素.style.樣式名
通過style屬性設置和讀取的都是內聯樣式,無法讀取樣式表中的樣式
語法:元素.currentStyle.樣式名
如果當前元素沒有設置該樣式,則獲取它的默認值
例如: box1.currentStyle.width
這個方法是window的方法,可以直接使用需要兩個參數
第一個:要獲取樣式的元素
第二個:可以傳遞一個偽元素,一般都傳null
該方法會返回一個對象,對象中封裝了當前元素對應的樣式
可以通過對象﹒樣式名來讀取樣式
如果獲取的 樣式沒有設置 ,則會獲取到真實的值,而不是默認值
比如:沒有設置width,它不會獲取到auto,而是 一個長度
注意:通過currentStyle和getComputedstyle()讀取到的樣式都是只讀的,不能修改,如果要修改必須通過style屬性
參數:
obj 要獲取樣式的元素
name 要獲取的樣式名
選中標簽,然后用style設置樣式
div?id="h5course"HTML5學堂(WX號),技術干貨文章分享/div
script
var?box?=?document.getElementById('h5course');
box.style.color?=?'#39f';
box.style.border?=?'2px?solid?#000';
/script
在頁面內用JS操作CSS除非用AJAX,但操作頁面內的樣式的話,是可以的。操作樣式分為改變直接樣式,改變className和改變cssText三種
一、局部改變樣式
調用方法:
改變className
div id="demo"測試/div
script
document.getElementById('demo').className="test";
/script
改變直接樣式
div id="demo"測試/div
script
document.getElementById('obj').style.backgroundColor="#003366";
/script
二、全局改變樣式
可以通過改變外鏈樣式的的href的值實現網頁樣式的實時切換
link rel = "stylesheet" type="text/css" id="css" href="firefox.css" /
span on click="javascript:document.getElementById('css').href = 'ie.css'"點我改變樣式/span
JS可以使用css屬性來進行樣式修改,并且不僅可以修改單一屬性,也可以同時修改多個屬性。
案例
以下小案例使用JQuery作為演示。
前提: html頁面首先必須引入JQuery,放置在body體最后的位置。例如:
script?type="text/javascript"?src=""/script
html部分代碼
p
我是一個段落,我沒有背景顏色的,但是JQuery會給我增加背景顏色。
/p
button
點擊我,給上面段落添加黃色背景顏色。
/button
JQuery代碼
$("button").click(function(){
$("p").css("background-color",?"yellow");
});
修改多個屬性
$("button").click(function(){
$("p").css({"background-color":?"yellow",?"font-size":?"200%"});
});
結論與解釋:
首先使用Jquery選擇器進行元素選擇 -?$("button")
為該元素綁定點擊事件 -?click
click中的匿名函數修改css屬性。
在css屬性的修改中,p段落有了黃色背景; 多個屬性修改,不但有了黃色背景而且字體是之前的兩倍大小。
注意事項:
可以不用非要綁定事件,在本案例中,綁定事件是為了更好地演示Jquery如何操作css屬性。
修改單一屬性和多個屬性的寫法是有區別的,多個屬性使用{},屬性與值之間用:分割,屬性與屬性之間用,分割。
分享文章:js中設置css樣式,js設置css樣式失效
當前URL:http://m.newbst.com/article44/dsseiee.html
成都網站建設公司_創新互聯,為您提供面包屑導航、、建站公司、網站設計、外貿網站建設、Google
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯