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

推薦閱讀更多精彩內容

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