設(shè)置 獲取元素的中的文本:
text():方法
獲取文本時(shí)不需要參數(shù)。只能獲取文本汁汗,獲取不到文本中包含的標(biāo)簽
設(shè)置文本時(shí)需要參數(shù)撮抓。只能設(shè)置文本妇斤,覆蓋式賦值。如果含有標(biāo)簽不會(huì)被解析丹拯,當(dāng)做字符串
//獲取元素中的文本 .text()方法(沒有參數(shù)) 覆蓋式賦值 只能獲取文本
//var $(text) = $(指定的標(biāo)簽).text()
var $text = $('p').text();
console.log($text);
//給元素設(shè)置新文本(有參數(shù)) 只能設(shè)置文本趟济,如果含有標(biāo)簽不會(huì)被解析 當(dāng)做字符串返回。
$('p').text($text+"你說啥咽笼?"); //字符串拼接 ;
html()方法:
獲取文本時(shí)也不需要參數(shù)顷编,不僅能獲取文本,連文本中的標(biāo)簽也能獲取到剑刑。
設(shè)置文本時(shí)需要參數(shù)媳纬,不僅能獲取文本,連文本中的標(biāo)簽也能獲取到施掏,也能解析到包含標(biāo)簽的屬性钮惠。
//包裹的標(biāo)簽和文本都可以獲取到,不僅可以設(shè)置文本 還可以設(shè)置文本的樣式七芭。
var $text1 = $('p').html();
console.log($text1);
$('p').html($text1+"<span style='color: red;'>哈哈哈</span>")
val()方法:是獲取到value值(多應(yīng)用于輸入框中)
//val();獲取的是表單的value
var $two = $('input').val();
console.log($two);
//修改value值
$('input').val("你是不是傻");
設(shè)置 獲取標(biāo)簽的屬性:
attr()素挽;設(shè)置屬性。例如:name 狸驳,id class value
獲取 設(shè)置 移除 屬性:
//獲取屬性:attr
var $attr = $('p').attr('id');
console.log($attr); //打印出 id的屬性值
//設(shè)置屬性值一個(gè)或多個(gè)屬性 通過大括號(hào)包括起來 屬性名與值之間使用引號(hào)预明,屬性與屬性之間用逗號(hào)隔開
var $attr1 = $('p').attr({'name':'p','id':"one",'class':"two"});
console.log($attr1);
//移除屬性 removeAttr();// 移除屬性 /單次只能移除一個(gè)屬性
var $one = $('p').removeAttr('id');
console.log($one);
關(guān)于類的增刪改
//添加class值
$('div').addClass("hehe");
$('div').addClass("haha");
//添加多個(gè)類名的時(shí)候不會(huì)覆蓋掉前面的類名耙箍。不同的類有相同的屬性的話 最后一個(gè)類生成效果
//移除class值
$('div').removeClass("hehe");
//切換class值
window.onclick = function() {
//如果存在'abc'這個(gè)值撰糠,就移除掉,否則就添加上
$('div').toggleClass("abc");
}
判斷某個(gè)標(biāo)簽是否含有某個(gè)屬性:
//判斷標(biāo)簽是否具備某個(gè)類名 hasClass()返回值是boolean值
var $three = $('h2').hasClass('h3');
console.log($three); // true;
例:
//點(diǎn)擊按鈕切換
$('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');
}
})
//根據(jù)當(dāng)前是否有某個(gè)類名來判斷是否添加還是刪除類名 (toggleClass)
// $('h2').toggleClass('p3');
$('button').click(function(){
$('h2').toggleClass('h3');
//每次點(diǎn)擊按鈕 toggleClass會(huì)判斷當(dāng)前是否具備參數(shù)中的屬性辩昆,有則刪阅酪,無則添;
})
設(shè)置 獲取元素的樣式:
利用jQ來獲取元素的樣式,不管是css樣式還是行內(nèi)樣式只要是能在頁面中生效术辐,jQ都可以獲取到標(biāo)簽的屬性砚尽,原生的js只能獲取到行內(nèi)的樣式。
通過辉词。css()方法來設(shè)置樣式:style下的樣式
如果數(shù)值類型的帶有單位的尉辑,必須加上單位,不加單位不會(huì)生效较屿。
//獲取css樣式隧魄。不管css樣式是行內(nèi)還是外部,只要能在頁面中生效隘蝎,jQ都可以獲取到標(biāo)簽的屬性购啄,原生的js只能獲取css行內(nèi)樣式。
獲取顏色值的時(shí)候 返回值是rbg嘱么、或者是rbga狮含;
var $bgcolor = $('p').css('backgroundColor');
console.log($bgcolor);
var $color = $('p').css('color');
console.log($color);
//通過css方法設(shè)置樣式
//如果數(shù)值類型的帶有單位的,必須加上單位曼振,不加單位不會(huì)生效几迄。
$('p').css("font-size","12px");
//設(shè)置 獲取元素的高度
var $height = $('p').height();
console.log($height);
//參數(shù)值可以使數(shù)值類型,當(dāng)參數(shù)是數(shù)值時(shí)冰评,默認(rèn)單位是px 如果是以其他形式為單位映胁,需要傳遞包含類型的字符串。
$('p').height('30%');
//設(shè)置獲取元素的寬度
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
設(shè)置 獲取 相對(duì)于文檔的偏移量甲雅;
//offset() 是依據(jù)窗口的獲取的值解孙,無論設(shè)置什么決定了元素的位置,都是距離窗口抛人;
var $offset = $('p').offset();
console.log($offset);
//var object = {left:100,top:100}
//$('p').offset(object);
//$('p').offset({left:10,top:12});
注:由于offset獲取的是一個(gè)對(duì)象弛姜,所有設(shè)置的時(shí)候必須用對(duì)象的方式設(shè)置。
獲取相對(duì)于定位的祖輩元素的偏移量妖枚。
position()廷臼;
//獲取 元素相對(duì)于定位的父元素的偏移量
//positon()方法只能獲取值,不能設(shè)置值
$('p').position();
var $positon = $('p').position();
console.log($positon);
設(shè)置 獲取滾動(dòng)條:
水平滾動(dòng)條 垂直滾動(dòng)條:
//獲取 設(shè)置 水平滾動(dòng)條的位置 scrollleft()
var $scrollleft = $('p').scrollLeft();
console.log($scrollleft);
//首先必須確認(rèn)滾動(dòng)條屬于哪一個(gè)標(biāo)簽绝页,在獲取滾動(dòng)條所對(duì)應(yīng)的標(biāo)簽再設(shè)置scrollleft才會(huì)生效荠商,方法的參數(shù)值是一個(gè)數(shù)值類型。
//獲取和設(shè)置垂直滾動(dòng)條
var $scrolltop = $('p').scrollTop();
console.log($scrolltop);
//點(diǎn)擊按鈕 返回頂部
// $('body').scrollTop(2000);
$('button').click(function(){
$('body').scrollTop(0);
//$('button').hide();
})
元素的包裹:給指定的節(jié)點(diǎn)添加父元素抒寂。
warp()方法:給選中的標(biāo)簽添加父元素:
warpAll():給所有相同的標(biāo)簽添加父元素结啼。如果相同的標(biāo)簽中混有其他的兄弟標(biāo)簽掠剑。會(huì)把這些標(biāo)簽放到最后屈芜。
warpInner()給標(biāo)簽的內(nèi)容添加一個(gè)新的標(biāo)簽來包裹:
<script type="text/javascript">
$(document).ready(function(){
//包裹標(biāo)簽(包裹節(jié)點(diǎn)):給指定節(jié)點(diǎn)添加父標(biāo)簽
//warp() 給選中的方法添加父元素
$('li').warp('<ul></ul>');
//wrapAll 給所有相同的標(biāo)簽添加一個(gè)共同的父元素,如果相同標(biāo)簽中混合有其他兄弟標(biāo)簽會(huì)把這些兄弟標(biāo)簽移到最后
$('li').wrapAll('<ul></ul>');
//warpInner 給標(biāo)簽的內(nèi)容添加一個(gè)新的標(biāo)簽來包裹
$('a').wrapInner('<b></b>');
})
</script>
注;
//解包裹
$('li').unwrap();
DOM的增刪改查:
創(chuàng)建文本節(jié)點(diǎn):
//創(chuàng)建
//1 把節(jié)點(diǎn)拼接成字符串
var textNode = '<p>又回到春末的五月,凌晨的集市人不多</p>';
//2 jQ創(chuàng)建
var textnode2 = $('<p></p>').text('小孩在門前唱著歌井佑,陽光溫暖了溪河');
//3 DOM創(chuàng)建
var textNode3 = document.createElement('p');
textNode3.innerText = "柳絮乘著大風(fēng)吹属铁,樹影下的人想睡。"
添加帶文本的首和尾:
//把節(jié)點(diǎn)添加到文檔最后
//A>B A.append(B)躬翁;
// $('body').append(textNode,textnode2,textNode3);
//A>B B.appendTo(A)
$(textnode2).appendTo('body');
//把節(jié)點(diǎn)插入文檔的開頭
// A.prepend(B)
$('body').prepend(textNode3);
// B.prependTo(A);
$(textNode).prependTo('body');
添加到某個(gè)標(biāo)簽的前后:
/*
after:在被選元素之后插入標(biāo)簽
before:在被選元素之前插入標(biāo)簽
*/
$('div').after(textNode3);
$('div').before(textnode2);
//在操作節(jié)點(diǎn)的這些方法中焦蘑,參數(shù)可以為一個(gè)JQ對(duì)象,或者為一個(gè)字符串(HTML結(jié)構(gòu)):
刪除盒发,替換 例嘱,清空節(jié)點(diǎn):
//刪除節(jié)點(diǎn)
//$('h1').remove(); //將自己移除
//清空自己所有的子元素
//$('body').empty();
//替換元素
$('span').replaceWith('<a href="#">耀國(guó)國(guó)</a>');
DOM增刪改:
<script type="text/javascript">
$(document).ready(function(){
//刪除節(jié)點(diǎn) remove(); 方法返回值是刪除的節(jié)點(diǎn)宁舰,如果后續(xù)用到刪除的節(jié)點(diǎn)拼卵,則需要保存這個(gè)返回值
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')
}
});
*/
//復(fù)制節(jié)點(diǎn) clone()用來復(fù)制標(biāo)簽,如果沒有參數(shù) 則只是復(fù)制標(biāo)簽的樣式及文本 沒有事件蛮艰。 如果有參數(shù)true 則事件也會(huì)被復(fù)制腋腮。
// var $btn = $('button').clone(true);
// 把復(fù)制的標(biāo)簽添加在body后面
//$('body').append($btn);
$('button').click(function(){
//empty 清空父元素下的內(nèi)容及所有的子標(biāo)簽。
$("#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>