jQuery設置及獲取樣式

設置 獲取元素的中的文本:
text():方法
獲取文本時不需要參數。只能獲取文本,獲取不到文本中包含的標簽
設置文本時需要參數。只能設置文本,覆蓋式賦值。如果含有標簽不會被解析,當做字符串

//獲取元素中的文本 .text()方法(沒有參數) 覆蓋式賦值 只能獲取文本
//var $(text) = $(指定的標簽).text() 
 var $text = $('p').text();
 console.log($text); 
//給元素設置新文本(有參數) 只能設置文本,如果含有標簽不會被解析 當做字符串返回。
$('p').text($text+"你說啥?"); //字符串拼接 ;

html()方法:
獲取文本時也不需要參數,不僅能獲取文本,連文本中的標簽也能獲取到。
設置文本時需要參數,不僅能獲取文本,連文本中的標簽也能獲取到,也能解析到包含標簽的屬性。

//包裹的標簽和文本都可以獲取到,不僅可以設置文本 還可以設置文本的樣式。 
 var $text1 = $('p').html();
 console.log($text1);
 $('p').html($text1+"<span style='color: red;'>哈哈哈</span>")

val()方法:是獲取到value值(多應用于輸入框中)

//val();獲取的是表單的value
 var $two = $('input').val();
 console.log($two);
 //修改value值
 $('input').val("你是不是傻");

設置 獲取標簽的屬性:
attr();設置屬性。例如:name ,id class value
獲取 設置 移除 屬性:

//獲取屬性:attr
 var $attr = $('p').attr('id'); 
 console.log($attr); //打印出 id的屬性值
 //設置屬性值一個或多個屬性 通過大括號包括起來 屬性名與值之間使用引號,屬性與屬性之間用逗號隔開
 var $attr1 = $('p').attr({'name':'p','id':"one",'class':"two"});
 console.log($attr1);
 //移除屬性 removeAttr();// 移除屬性        /單次只能移除一個屬性
 var $one = $('p').removeAttr('id');
 console.log($one);

關于類的增刪改

//添加class值
 $('div').addClass("hehe");
 $('div').addClass("haha");
//添加多個類名的時候不會覆蓋掉前面的類名。不同的類有相同的屬性的話 最后一個類生成效果
 //移除class值
 $('div').removeClass("hehe");
 //切換class值
 window.onclick = function() {
 //如果存在'abc'這個值,就移除掉,否則就添加上
 $('div').toggleClass("abc");
 }

判斷某個標簽是否含有某個屬性:

//判斷標簽是否具備某個類名 hasClass()返回值是boolean值
 var $three = $('h2').hasClass('h3');
 console.log($three); // true;

例:

 //點擊按鈕切換
 $('button').click(function(){
 if($('h2').hasClass('h3')==true){
 刪除Class 
 $('h2').removeAttr('class',"h3");
 // $('h2').removeClass('h3');
 $('h2').addClass('h2');
 }
 else{
 $('h2').removeClass('h2')
 $('h2').addClass('h3');
 }
 })
 //根據當前是否有某個類名來判斷是否添加還是刪除類名 (toggleClass)
 // $('h2').toggleClass('p3');
 $('button').click(function(){
 $('h2').toggleClass('h3');
 //每次點擊按鈕 toggleClass會判斷當前是否具備參數中的屬性,有則刪,無則添;
 })

設置 獲取元素的樣式:

利用jQ來獲取元素的樣式,不管是css樣式還是行內樣式只要是能在頁面中生效,jQ都可以獲取到標簽的屬性,原生的js只能獲取到行內的樣式。
通過。css()方法來設置樣式:style下的樣式
如果數值類型的帶有單位的,必須加上單位,不加單位不會生效。

//獲取css樣式。不管css樣式是行內還是外部,只要能在頁面中生效,jQ都可以獲取到標簽的屬性,原生的js只能獲取css行內樣式。
獲取顏色值的時候 返回值是rbg、或者是rbga;
var $bgcolor = $('p').css('backgroundColor');
console.log($bgcolor);
var $color = $('p').css('color');
console.log($color);
//通過css方法設置樣式
//如果數值類型的帶有單位的,必須加上單位,不加單位不會生效。
$('p').css("font-size","12px");
//設置 獲取元素的高度
var $height = $('p').height();
console.log($height);
//參數值可以使數值類型,當參數是數值時,默認單位是px 如果是以其他形式為單位,需要傳遞包含類型的字符串。
$('p').height('30%');
//設置獲取元素的寬度
var $width = $('p').width();
console.log($width);
$('p').width('100px');

注:寬度:

 console.log($('div').innerWidth()); //innerWidth = content + padding
 console.log($('div').outerWidth()); //outerWidth = content + padding + border

設置 獲取 相對于文檔的偏移量;

//offset() 是依據窗口的獲取的值,無論設置什么決定了元素的位置,都是距離窗口;
var $offset = $('p').offset();
 console.log($offset);
 //var object = {left:100,top:100}
 //$('p').offset(object);
//$('p').offset({left:10,top:12}); 

注:由于offset獲取的是一個對象,所有設置的時候必須用對象的方式設置。
獲取相對于定位的祖輩元素的偏移量。
position();

//獲取 元素相對于定位的父元素的偏移量
 //positon()方法只能獲取值,不能設置值
 $('p').position();
 var $positon = $('p').position();
 console.log($positon);

設置 獲取滾動條:

水平滾動條 垂直滾動條:
//獲取 設置 水平滾動條的位置 scrollleft()
 var $scrollleft = $('p').scrollLeft();
 console.log($scrollleft);
//首先必須確認滾動條屬于哪一個標簽,在獲取滾動條所對應的標簽再設置scrollleft才會生效,方法的參數值是一個數值類型。
 //獲取和設置垂直滾動條
 var $scrolltop = $('p').scrollTop();
 console.log($scrolltop);
 //點擊按鈕 返回頂部
//              $('body').scrollTop(2000);
 $('button').click(function(){
 $('body').scrollTop(0);
 //$('button').hide();
 })

元素的包裹:給指定的節點添加父元素。

warp()方法:給選中的標簽添加父元素:
warpAll():給所有相同的標簽添加父元素。如果相同的標簽中混有其他的兄弟標簽。會把這些標簽放到最后。
warpInner()給標簽的內容添加一個新的標簽來包裹:

<script type="text/javascript">
 $(document).ready(function(){
 //包裹標簽(包裹節點):給指定節點添加父標簽
 //warp() 給選中的方法添加父元素
 $('li').warp('<ul></ul>');
 //wrapAll 給所有相同的標簽添加一個共同的父元素,如果相同標簽中混合有其他兄弟標簽會把這些兄弟標簽移到最后
 $('li').wrapAll('<ul></ul>');
 //warpInner 給標簽的內容添加一個新的標簽來包裹 
 $('a').wrapInner('<b></b>');
 })
</script>

注;

//解包裹
 $('li').unwrap();

DOM的增刪改查:

創建文本節點:
//創建
 //1 把節點拼接成字符串
 var textNode = '<p>又回到春末的五月,凌晨的集市人不多</p>';
 //2 jQ創建
 var textnode2 = $('<p></p>').text('小孩在門前唱著歌,陽光溫暖了溪河');
 //3 DOM創建
 var textNode3 = document.createElement('p');
 textNode3.innerText = "柳絮乘著大風吹,樹影下的人想睡。"
添加帶文本的首和尾:
//把節點添加到文檔最后
 //A>B A.append(B);
//          $('body').append(textNode,textnode2,textNode3); 
 //A>B B.appendTo(A)
 $(textnode2).appendTo('body');
 //把節點插入文檔的開頭
//          A.prepend(B)
 $('body').prepend(textNode3);
 // B.prependTo(A);
 $(textNode).prependTo('body');

添加到某個標簽的前后:

/*
 after:在被選元素之后插入標簽
 before:在被選元素之前插入標簽
 */
 $('div').after(textNode3);
 $('div').before(textnode2);
//在操作節點的這些方法中,參數可以為一個JQ對象,或者為一個字符串(HTML結構):

刪除,替換 ,清空節點:

//刪除節點
 //$('h1').remove();    //將自己移除
 //清空自己所有的子元素
 //$('body').empty();
 //替換元素
 $('span').replaceWith('<a href="#">耀國國</a>');

DOM增刪改:

<script type="text/javascript">
 $(document).ready(function(){
 //刪除節點 remove(); 方法返回值是刪除的節點,如果后續用到刪除的節點,則需要保存這個返回值
 var $p = $('p').remove();
 $('body').append($p);
 //toggle 隱藏
//$('button').click(function(){
//$('p').toggle();
//});
//判斷是否含有p 如果有 刪掉 如果沒有 添加
 /* $('button').click(function(){
 if($('p').length !=0){
 $('p').remove();
 }else{
 $($p).prependTo('body')
 }
 });
 */  
 //復制節點 clone()用來復制標簽,如果沒有參數 則只是復制標簽的樣式及文本 沒有事件。 如果有參數true 則事件也會被復制。
 // var $btn = $('button').clone(true);
//          把復制的標簽添加在body后面
 //$('body').append($btn); 
 $('button').click(function(){
 //empty 清空父元素下的內容及所有的子標簽。
 $("#car").empty();
 });
 //A.replaceWith(B); 最后顯示的是B;
 //B.replaceAll(A);  最后顯示的是A;
 var $img = '<img src="img/QQ圖片20160827090103.jpg">';
 $('button').click(function(){
//$('img').replaceWith($img);
 $($img).replaceAll('img');
 });
 })
 </script>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,748評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,165評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,595評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,633評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,435評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,943評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,035評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,175評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,713評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,599評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,788評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,303評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,034評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,412評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,664評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,408評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,747評論 2 370

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,774評論 1 92
  • HTML標簽解釋大全 一、HTML標記 標簽:!DOCTYPE 說明:指定了 HTML 文檔遵循的文檔類型定義(D...
    米塔塔閱讀 3,285評論 1 41
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,778評論 18 139
  • 把我的這一年,送給你 ——致三分之一的自己 ...
    夢回桃源閱讀 239評論 0 0
  • 寧為玉碎,是國人敬仰的一種風骨,更是書本中極為推崇的一種選擇。 曾經也這樣。年輕的時候。 年齡漸長,倒是覺得,這樣...
    99小魚9999閱讀 217評論 1 1