jquery如何改變html標籤的樣式(兩種實現方法)

來源:互聯網
上載者:User

對於如何修飾html標籤,這對於js來說,可以通過setAttribute來設定標籤的屬性,通過getAttribute來得到標籤的屬性,而在jq中當然也可以實作類別似的功能,方法上肯定比js要簡化多了。
一 通過修改標籤屬性來改變它的樣式
js設定和擷取標籤的屬性
複製代碼 代碼如下:
  <script type="text/javascript">
window.onload = function () {
var attr = document.getElementById("attr");
attr.setAttribute("style", "font-weight:bold;")
alert(attr.getAttribute("style"));
}
</script>

jq設定和擷取標籤的屬性
複製代碼 代碼如下:
<script src="http://img1.c2cedu.com/Scripts/jquery/jquery-1.4.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#attr").attr("style", "color:#ff0000");//單個屬性的設定
$("#Avatar").attr({ "class": "banner", "alt": "頭像", "src": "http://pic.cnblogs.com/avatar/a118538.jpg?id=11133319" });//多個屬性的設定
alert($("#Avatar").attr("src")); //得到指定標籤的屬性
});
</script>

值得注意的是JS的window.onload方法塊的內容是在JQ的$(function(){})方法塊執行完成後,再執行的。
二 通過修改標籤的css樣式來改變它的樣式
看看基本的文法:
複製代碼 代碼如下:
$("#attr").addClass("banner");//添加樣式
$("#attr").removeClass("banner");//移除樣式
                  //JQ支援連帶寫法,因為removeClass的返回結果也是一個Jq對象,所以Jq對象的所有方法和事件它都可以使用
$("#attr").removeClass("banner").addClass("bannerOver");

下面是一個例子,當在dd標籤上單擊時,將當前dd塊進行高亮顯示
複製代碼 代碼如下:
<style>
.banner { background: #0094ff; }
.bannerOver { background: #808080; }
.cur { background: #ff6a00; }
</style>
<script>
$(function () {
$('#menu_title').find('dd').click(function () {
$('#menu_title').find('dd').removeClass('cur');
$(this).addClass('cur');
})
})
</script>
<dl id="menu_title">
<dt>人</dt>
<dd>一種進階動物</dd>
<dt>狗</dt>
<dd>人類的朋友</dd>
<dt>貓</dt>
<dd>貓科動物的祖先</dd>
</dl>

下面是為表格的隔行變色效果
複製代碼 代碼如下:
.odd { background: #808080; }
.even { background: #ffd800; }
.selected { background: #0094ff; color: #fff; }     .hover { background: #808080; }

複製代碼 代碼如下:
var $trs = $("#menu_title>dd"); //選擇所有行 $trs.filter(":odd").addClass("odd"); //給奇數行添加odd樣式 $trs.filter(":even").addClass("even"); //給偶數行添加odd樣式

單擊行後,讓當前行高亮顯示
複製代碼 代碼如下:
//點擊行,添加變色樣式
$trs.click(function(e) {
$(this).addClass("selected")
         .siblings()         .removeClass("selected");
})

添加滑鼠移入與移出事件
複製代碼 代碼如下:
       // 滑鼠移入 與移出
$("#menu_title>dd").hover(
function () {
$(this).addClass("hover");
},
function () {
$(this).removeClass("hover");
}
);

恩,好了對於標籤的樣式控制這塊內容就講到這裡吧,感謝您的閱讀!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.