jQuery学习教程(3)
一、什么是DOM操作?
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。Document Object Model的历史可以追溯至1990年代后期微软与Netscape的“浏览器大战”,双方为了在JavaScript与JScript一决生死,于是大规模的赋予浏览器强大的功能。微软在网页技术上加入了不少专属事物,既有VBScript、ActiveX、以及微软自家的DHTML格式等,使不少网页使用非微软平台及浏览器无法正常显示。DOM即是当时蕴酿出来的杰作。
二、具体的解释
Text()和html()的区别
也可以进行设定($('input').val(“Moshimol”));
当传入参数进来是get方法,不传参数是set方法
<html> <head> <title>JQuery DOM Manipulation</title> <link rel="stylesheet" href="style.css"> </head> <body> <input type="text"> <div class="hello">Hello World <p>I am Moshimol</p> </div> <button>Click me</button> </body> <script src="js/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('button').on('click', function() { //alert($('div').text()); //alert($('div').html()); alert($('input').val()); // $('div').replaceWith('<p>Hello World</p>'); // $('.hello').before($('.world').clone()); // $('<p>Hello World</p>').replaceAll('div'); }); }); </script> </html>
## 获取设定属性 [attr(), removeAttr()]
$('div').removeAttr('class'); 移除css
$('div').attr("class","hello") 获取css
可以设置两个
## 获取设定 CSS Class [addClass(), removeClass(), hasClass(), toggleClass] hasclass 看有没有这个class toggleClass 有就删除 没有就加上
## 获取设定 CSS style [css()]可以打印div里面的css 但是需要JSON.stringify这个函数来打印具体的,如果没有这个函数的话,打印出options
## append() and prepend() methods append()把后面一个元素插入前面元素最后子元素中,一个向后面插 prepend这个是插入后面,一个向前面插
## appendTo() and prependTo() methods 和上面一样 字面意思区别不是很大,但是前后位置倒反了
## before() and after() methods
## insertBefore() and insertAfter() methods
<html> <head> <title>JQuery DOM Manipulation</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="a"> <div class="b">b</div> </div> <button>'c'</button> <div class="c">c</div> <button>Click me</button> </body> <script src="js/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('button').on('click', function() { // $('.a').append($('.c')); // $('.a').prepend($('.c')); //$('.c').appendTo($('.a')); //$('.c').prependTo($('.a')); //$('.a').after($('.c'));插如之前 不是子元素 // $('.a').before($('.c'));插入之后 不是子元素 $('.c').insertAfter($('.a')); $('.c').insertBefore($('.a')); }); }); </script> </html>
## remove(), empty() and .detach() methods
remove() 删掉整个元素
empty() 使他变空 但是内容是存在的
.detach() 和remove 区别不是很大
可以自己实验
var p; function selectChange() { if (document.getElementById("ddl_schoolarea").value != "请选择") { p = $("#trlession").detach(); } else { //table1为一个table名字 $("#table1").append(p); } }
# unwrap(), wrapInner(), wrap(), wrapAll(), 逐层放大
<html> <head> <title>JQuery DOM Manipulation</title> <link rel="stylesheet" href="style.css"> </head> <body> <div> <li>1</li> <li>2</li> <li>3</li> </div> </body> <script src="js/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('button').on('click', function() { $('li').wrap("<ul></ul>>"); $('li').wrapAll("<ul></ul>>"); $('li').unwrap(); $('li').wrapInner("<b></b>>"); }); }); </script> </html>
## target.replaceWith() and replaceAll(target)
<html> <head> <title>JQuery DOM Manipulation</title> <link rel="stylesheet" href="style.css"> </head> <body> <div> <li>1</li> <li>2</li> <li>3</li> </div> </body> <script src="js/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('button').on('click', function() { $('div').replaceWith('<p>Moshimol</p>'); $ ('<p>Moshimol</p>').replaceAll('div'); }); }); </script> </html>
## clone() and Cloning Event Handlers and Data
clone()进行复制
$('.hello').before($('.world').clone());
相当于windows的拷贝功能,吧world的内容进行拷贝,再把他放到hello前面