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阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,722评论 1 92
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 3,220评论 1 41
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,579评论 18 139
  • 把我的这一年,送给你 ——致三分之一的自己 ...
    梦回桃源阅读 232评论 0 0
  • 宁为玉碎,是国人敬仰的一种风骨,更是书本中极为推崇的一种选择。 曾经也这样。年轻的时候。 年龄渐长,倒是觉得,这样...
    99小鱼9999阅读 213评论 1 1