jQuery的基礎DOM,CSS操作篇

基礎 DOM 和 CSS 操作


1.設置元素及內容

方法名 描述
html() 獲取元素中 HTML 內容
html(value) 設置元素中 HTML 內容
text() 獲取元素中文本內容
text(value) 設置原生中文本內容
val() 獲取表單中的文本內容
val(value) 設置表單中的文本內容

在常規的 DOM 元素中,我們可以使用 html()和 text()方法獲取內部的數據。html()方法可以獲取或設置 html 內容,text()可以獲取或設置文本內容。

$('#box').html(); //獲取 html 內容
$('#box').text(); //獲取文本內容,會自動清理 html 標簽
$('#box').html('<em>www.li.cc</em>'); //設置 html 內容
$('#box').text('<em>www.li.cc</em>'); //設置文本內容,會自動轉義 html標簽

注意:當我們使用 html()或 text()設置元素里的內容時,會清空原來的數據。而我們期望能夠追加數據的話,需要先獲取原本的數據

$('#box').html($('#box').html() + '<em>www.li.cc</em>'); //追加數據如果元素是表單的話,jQuery 提供了 val()方法進行獲取或設置內部的文本數據。
$('input').val(); //獲取表單內容
$('input').val('www.li.cc'); //設置表單內容

如果想設置多個選項的選定狀態,比如下拉列表、單選復選框等等,可以通過數組傳遞操作。

$("input").val(["check1","check2", "radio1" ]); //value 值是這些的將被選定

2.元素屬性操作

方法名 描述
attr(key) 獲取某個元素 key 屬性的屬性值
attr(key, value) 設置某個元素 key 屬性的屬性值
attr({key1:value2, key2:value2...}) 設置某個元素多個 key 屬性的屬性值
attr(key, function (index, value) {}) 設置某個元素 key 通過 fn 來設置

3.元素樣式操作

方法名 描述
css(name) 獲取某個元素行內的 CSS 樣式
css([name1, name2, name3]) 獲取某個元素行內多個 CSS 樣式
css(name, value) 設置某個元素行內的 CSS 樣式
css(name, function (index, value) ) 設置某個元素行內的 CSS 樣式
css({name1 : value1, name2 : value2}) 設置某個元素行內多個 CSS 樣式
addClass(class) 給某個元素添加一個 CSS 類
addClass(class1 class2 class3...) 給某個元素添加多個 CSS 類
removeClass(class) 刪除某個元素的一個 CSS 類
removeClass(class1 class2 class3...) 刪除某個元素的多個 CSS 類
toggleClass(class) 來回切換默認樣式和指定樣式
toggleClass(class1 class2 class3...) 同上
toggleClass(class, switch) 來回切換樣式的時候設置切換頻率
toggleClass(function () {}) 通過匿名函數設置切換的規則
toggleClass(function () {}, switch) 在匿名函數設置時也可以設置頻率
toggleClass(function (i, c, s) {}, switch) 在匿名函數設置時傳遞三個參數

在 CSS 獲取上,我們也可以獲取多個 CSS 樣式,而獲取到的是一個對象數組,如果用傳統方式進行解析需要使用 for in 遍歷。

var box = $('div').css(['color', 'height', 'width']); //得到多個 CSS 樣式的數組對象
for (var i in box) { //逐個遍歷出來
alert(i + ':' + box[i]);
}

jQuery 提供了一個遍歷工具專門來處理這種對象數組,$.each()方法,這個方法可以輕松的遍歷對象數組。

$.each(box, function (attr, value) { //遍歷 JavaScript 原生態的對象數組
alert(attr + ':' + value);
});

使用$.each()可以遍歷原生的 JavaScript 對象數組,如果是 jQuery 對象的數組怎么使用.each()方法呢?

$('div').each(function (index, element) { //index 為索引,element 為元素 DOM
alert(index + ':' + element);
});

4.CSS 方法

方法名 描述
width() 獲取某個元素的長度
width(value) 設置某個元素的長度
width(function (index, width) {}) 通過匿名函數設置某個元素的長度
height() 獲取某個元素的長度
height(value) 設置某個元素的長度
height(function (index, width) {}) 通過匿名函數設置某個元素的長度
innerWidth() 獲取元素寬度,包含內邊距 padding
innerHeight() 獲取元素高度,包含內邊距 padding
outerWidth() 獲取元素寬度,包含邊框 border 和內邊距 padding
outerHeight() 獲取元素高度,包含邊框 border 和內邊距 padding
outerWidth(ture) 同上,且包含外邊距
outerHeight(true) 同上,且包含外邊距
方法名 描述
offset() 獲取某個元素相對于視口的偏移位置
position() 獲取某個元素相對于父元素的偏移位置
scrollTop() 獲取垂直滾動條的值
scrollTop(value) 設置垂直滾動條的值
scrollLeft() 獲取水平滾動條的值
scrollLeft(value) 設置水平滾動條的值

元素偏移方法

方法名 描述
offset() 獲取某個元素相對于視口的偏移位置
position() 獲取某個元素相對于父元素的偏移位置
scrollTop() 獲取垂直滾動條的值
scrollTop(value) 設置垂直滾動條的值
scrollLeft() 獲取水平滾動條的值
scrollLeft(value) 設置水平滾動條的值



上一篇: jQuery的基礎DOM,CSS操作篇
下一篇: jQuery的DOM節點操作

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 第1章 簡介 第2章 DOM節點的創建 2-1 DOM創建節點及節點屬性 通過JavaScript可以很方便的獲...
    mo默22閱讀 833評論 0 8
  • DOM創建節點及節點屬性 通過JavaScript可以很方便的獲取DOM節點,從而進行一系列的DOM操作。但實際上...
    阿r阿r閱讀 1,043評論 0 9
  • 原文鏈接 http://blog.poetries.top/2016/10/20/review-jQuery 關注...
    前端進階之旅閱讀 16,679評論 18 503
  • 一、樣式篇 第1章 初識jQuery (1)環境搭建 進入官方網站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,451評論 0 44
  • 第一章 jQuery簡介 1-1 jQuery簡介 1.簡介 2.優勢 3.特性與工具方法 1-2 環境搭建 進入...
    mo默22閱讀 1,610評論 0 11