jQuery 基础DOM和CSS操作

要点:

  • 设置元素及内容
  • 元素属性操作
  • 元素样式操作
  • CSS 方法

一、设置元素及内容

1.设置和获取元素中的HTML内容

<div id="test">
    <h1>This is H1</h1>
</div>
console.log($("#test").html());    // <h1>This is H1</h1>

先获取当前的内容,再追加内容

$("#test").html($("#test").html() + "<span>span</span>")
console.log($("#test").html());    // <h1>This is H1</h1>  <span>span</span>

2.设置和获取元素中的文本内容

console.log($("#test").text());        // This is H1
$("#test").text("我要覆盖你");
console.log($("#test").text());            // 我要覆盖你

3.设置和获取表单的内容

console.log($("input").val());         // 按钮
$("input").val("我是按钮");
console.log($("input").val());             // 我是按钮

如果想设置多个选项的选定状态,比如下拉列表、单选复选框等等,可以通过数组传递操作。

<select multiple="multiple">
    <option value="op1">op1</option>
    <option value="op2">op2</option>
    <option value="op3">op3</option>
    <option value="op4">op4</option>
</select>
$("select").val(["op1", "op4"]);       // 值为op1和op4的被选中

二、元素属性操作

<a href="###">体育</a>

1.获取属性

console.log($("a").attr("href"));      // 获取href的值, ###

2.设置属性

$("a").attr("href", "http://www.baidu.com");       // 设置属性值
console.log($("a").attr("href"));      // http://www.baidu.com
属性值可以为匿名函数
// index表示上次的索引,默认为0
// value表示上次的属性值
$("a").attr("href", function (index, value) {
    return "新版本:" + index + 1 + " " + value;
})
console.log($("a").attr("href"));      // 新版本:01 http://www.baidu.com

3.删除属性

$("a").removeAttr("href");
console.log($("a").attr("href"));      //  undefined

三、元素样式操作

<div id="box">box</div>
#box {
    height: 100px;
    width: 100px;
    background : red;
}
var box = $("#box");

1.获取样式

console.log(box.css("width"));  // 100px

如果获取的样式需要计算,那么可以传人一个匿名函数

box.css("width", function (index, value) {
    return (parseInt(value) + 500) + "px";
});

2.设置样式

box.css("background", "blue");

3.获取多个样式

var style = box.css(["width", "height", "background"]);
for (var v in style){
    console.log(style[v]);  // 100px 100px
}

4.设置多个样式,可以传人一个对象参数

box.css({
    "font-size" : "100px",
    "background" : "orange"
});

5.遍历元素

$.each(style, function (attr, value) {
    alert(attr + ", " + value);     // width : 100px ...
});

6.添加类样式

#box {
    height: 100px;
    width: 100px;
    border: 1px solid #ccc;
}
.blue {
    background: blue;
}

.green {
    background: green;
}

添加blue类

$("#box").addClass("blue");

删除blue类

$("#box").removeClass("blue");

切换样式

$("#box").click(function () {
    $(this).toggleClass("blue");
});

我们可以改变切换的频率

var count = 0;
$("#box").click(function () {
    $(this).toggleClass("blue", count ++ % 3 === 0);
});

实现样式之间的切换

$("#box").click(function () {
    $(this).toggleClass(function () {
        if ($(this).hasClass("blue")) {
            $(this).removeClass("blue");
            return "green";
        } else {
            $(this).removeClass("green");
            return "blue";
        }
    });
});

四、CSS方法

获取宽度

console.log($("#box").width());        // 100

设置宽度

$("#box").width(500);
$("#box").width("500pt");  // 加上单位,默认px
$("#box").width(function (index, value) {  // 传人匿名函数,返回设置值
    return value + 200;     // 当前值 + 200
});

height() 获取元素的高度

innerWidth() 获取元素宽度,包含内边距 padding

innerHeight() 获取元素高度,包含内边距 padding

outerWidth() 获取元素宽度,包含边框 border 和内边距 padding

outerHeight() 获取元素高度,包含边框 border 和内边距 padding

outerWidth(ture) 同上,且包含外边距

outerHeight(true) 同上,且包含外边距

以上的使用方法和width()同理,这里不再累赘

offset() 获取某个元素相对于视口的偏移位置

* {
    padding : 0;
    margin: 0;
}
#box {
    position: absolute;
    height: 100px;
    width: 100px;
    left: 200px;
    top:200px;
    border: 1px solid #ccc;
}
// 获取元素相对于视口的位置
console.log($("#box").offset().left);      // 200
console.log($("#box").offset().top);       // 200
// position() 获取某个元素相对于父元素的偏移位置
console.log($("#box").position().left);        // 200,父元素就是body
console.log($("#box").position().top);     // 200
scrollTop() 获取垂直滚动条的值
scrollTop(value) 设置垂直滚动条的值
console.log($(window).scrollTop());        // 0
$(document).click(function () {
    $(window).scrollTop(0);    // 点击任意位置,置顶
});
时间: 2024-10-09 01:00:55

jQuery 基础DOM和CSS操作的相关文章

jQuery基础DOM和CSS操作

$('#box').html();//获取 html 内容$('#box').text();//获取文本内容,会自动清理 html 标签$('#box').html('<em>www.li.cc</em>');//设置 html 内容$('#box').text('<em>www.li.cc</em>');//设置文本内容,会自动转义 html标签$('#box').html($('#box').html() + '<em>www.li.cc&l

jQuery 基础 DOM 和 CSS操作

设置元素及内容 通过选择器.过滤器来得到我们想要操作的元素.这个时候,我们就可以对这些元素进行 DOM 的操作.那么,最常用的操作就是对元素内容的获取和修改. 在常规的 DOM 元素中,我们可以使用 html()和 text()方法获取内部的数据.html()方法 可以获取或设置 html 内容,text()可以获取或设置文本内容. $('#box').html(); //获取 html 内容 $('#box').text(); //获取文本内容,会自动清理 html 标签 $('#box').

基础DOM和CSS操作

DOM简介 DOM是一种文档对象模型,方便开发者对HTML结构元素内容进行展示和修改.在JavaScript中,DOM不但内容庞大繁杂,而且我们开发的过程中需要考虑更多的兼容性.扩展性.在jQuery中,已经将最常用的DOM操作方法进行了有效封装,并且不需要考虑浏览器的兼容性. D表示的是页面文档Document.O表示对象,即一组含有独立特性的数据集合.M表示模型,即页面上的元素节点和文本节点. DOM有三种形式,标准DOM.HTML DOM.CSS DOM(难道不是XML DOM吗?),大部

基础DOM和CSS操作(三)

CSS方法 jQuery不但提供了CSS的核心操作方法,比如.css()..addClass()等.还封装了一些特殊功能的CSS操作方法,我们分别来了解一下. width()方法 方法名 描述 width() 获取某个元素的长度 width(value) 设置某个元素的长度 width(function(index,width) {}) 通过匿名函数设置某个元素的长度 html代码(部分)如下: <div style="background: #eee; width: 800px;&quo

基础DOM和CSS操作(二)

元素样式操作 元素样式操作包括了直接设置CSS样式.增加CSS类别.类别切换.删除类别这几种操作方法.而在整个jQuery使用频率上来看,CSS样式的操作也是极高的,所以需要重点掌握. CSS操作方法 方法名 描述 css(name) 获取某个元素行内的css样式 css([name1,name2,name3]) 获取某个元素行内多个css样式 css(name,value) 设置某个元素行内的css样式 css(name,function(index,value) {}) 设置某个元素行内的c

jQuery基础——DOM篇

jQuery基础--DOM篇 在javascript中如何创建节点? 创建节点(常见的:元素.属性和文本) 添加节点的一些属性 加入到文档中 流程中涉及的一点方法: 创建元素:document.createElement 设置属性:setAttribute 添加文本:innerHTML 加入文档:appendChild 例子: document.addEventListener('click',function(){ //创建2个div元素 var rightdiv = document.cre

jQuery基础DOM

基础DOM由D,document文档页面:O表示对象 ,就是一组含有独立特性的数据结合,M表示模型,就是在页面上的元素节点与文本节点. html()与text()方法 方法名 描述 html() 获取元素中HTML内容 html(value) 设置元素中HTML内容 text() 获取元素中文本内容 text(value) 设置原生中HTML内容 val() 获取表单中的文本内容 val(value) 设置表单中的文本内容 如果设置多个选项的选定状态,比如下拉列表,单选复选框等,可以用数组传递操

JQuery基础DOM操作

DOM创建节点及节点属性 通过JavaScript可以很方便的获取DOM节点,从而进行一系列的DOM操作.但实际上一般开发者都习惯性的先定义好HTML结构,但这样就非常不灵活了. 试想下这样的情况:如果我们通过AJAX获取到数据之后然后才能确定结构的话,这种情况就需要动态的处理节点了 创建流程比较简单,大体如下: 创建节点(常见的:元素.属性和文本) 添加节点的一些属性 加入到文档中 流程中涉及的一点方法: 创建元素:document.createElement 设置属性:setAttribut

jQuery基础 DOM操作

设置属性:只有一个参数为获取 $("#btn1").click(function () { $(this).attr("disabled","disabled"); }); 移除属性: $("#btn1").click(function () { $(this).removeAttr("value"); }); 设置样式:只有一个参数为选取 $("#btn1").click(functi