jQuery学习----------DOM操作


DOM操作之创建元素:

DOM:

var ele = document.createElement("element")

例子:document.createElement("div")

jQuery:

var $ele = $("element")    //返回的是一个jQuery对象

例子:$("<div></div>")

DOM操作之输入文本:

DOM:

var txt = document.createTextNode("String")

例子:document.createTextNode("test")

 jQuery:

可以直接添加文字到标签中

例子:var $div = $("<div>test</div>")

DOM操作之设置属性:

DOM:

ele.setAttribute("AttName","AttValue")

jQuery:

可以直接添加属性到标签中

例子:var $div = $("<div align=‘center‘></div>")

 示例:

//DOM
window.onload = function(){
	  	var txt = document.createTextNode("test");
	  	var div = document.createElement("div");
	  	div.appendChild(txt);
	  	div.setAttribute("align","center");
	  	document.body.appendChild(div);
	  }
	  
//jQuery
var $div = $("<div align=‘center‘>test</div>")
$("body").append($div)

DOM操作之插入内容:

内部插入:

DOM:

appendChild()   //在指定节点的内部末尾插入

insertBefore()  //在指定节点的内部最前插入

jQuery:

append()     //把参数指定的内容插入到指定节点中,返回jQuery对象

appendto()   //将匹配的元素出插入到目标元素之后

示例:$("div").append($("h2"))

$("h2").appendto($("div"))

prepend()    //将参数指定的内容插入到指定节点中,返回jQuery对象

prependto() 

示例:$("div").prepend($("h2"))

$("h2").prependto($("div"))

外部插入:

jQuery:

after()        //在每个匹配的元素之后插入内容

 before()       //在每个匹配的元素之前插入内容

例子:$("div").after("<b>test1</b>") 将在每个div元素后面插入test1文本

insertAfter()  //把所有匹配的元素插入到另一个指定的元素集合的后面

insertBefore() //把所有匹配的元素插入到另一个指定的元素集合的前面

例子:$("<b>test<b>").insertAfter("p")  将test文本插入到p元素后

DOM操作之删除元素:


 DOM:

removeChild()

jQuery:

remove()  //删除所有匹配的元素 remove([selector),selector用来过滤元素

例子:$("p").remove(); //删除所有p元素

$("div").remove(".red");  //删除所有含有类red的div元素

 empty()   //删除元素包含的内容,不删除元素本身,该方法没有参数

例子:$("p").empty()   //删除p元素包含的内容

detach()  //将匹配的元素从DOM中分离出来

例子: $("p").detach(".red");

注意:remove和detach的区别:

          detach()是将元素分离出去,会保留绑定在改元素上的事件、附加的数等;

           当重新把该元素加入DOM中,所绑定的事件仍然有效

           remove()是删除元素,不会保留该元素上的事件等信息

DOM操作之克隆内容:


DOM:

cloneNode()方法:

nodeObject.cloneNode(false|true)

//false表示不复制节点的属性和子节点,true表示要复制

jQuery:

clone()方法:

clone([withDataAndEvent])

clone([withDataAndEvent],[deepWithDataAndEvent])

例子:$("p").clone(true)  //克隆p元素,并保留事件

DOM操作之替换内容:


 DOM:

replaceChild()方法:

nodeObject.replaceChild(new_node,old_node)

jQuery:

replaceWith()方法:

例子:$("p").replaceWith("<h1>test<h1>");

replaceAll()方法:

例子:$("<h1>test<h1>").replaceAll("p");

DOM操作之包裹内容:


 jQuery:

wrap()方法:wrap(element|function)

例子:$("div").wrap("<li></li>") 用li元素包含每一个div元素

wrapInner()方法:

例子:$("div").wrapInner("<li></li>") 给div添加内包含的元素li

wrapAll()方法:

例子:$("h1").wrapAll("<li></li>")

unwrap()方法: 将匹配元素的父级元素删除

例子:$("p").unwrap()

DOM操作之属性操作


设置属性:

DOM

setAttribute()方法:node.setAttribute(name,value)

例子:div.setAttribute("align","center")

 jQuery:

prop()方法:

prop(name,value)

例子:$("div.green").prop({"align","value"})

prop(map):参数map指:{属性,值}

例子:$("div.green").prop({"id":"divid","align":"value"})

prop(name,function(index,oldvalue))

 attr()方法:

attr(name,value)

attr(map)

attr(name,function(index,oldvalue))

上面两种方法的差别:prop()添加checked这一类属性较好。

访问属性:

DOM:

getAttribute()方法:node.getAttribute(name)

jQuery:

prop()方法:prop(name)

attr()方法:attr(name)

区别:attr()方法只用来返回默认的属性值,或者初始值

如:$("input").attr("checked") //当复选框的状态改变时,返回的值不会变

注:

上述方法只会获取第一个匹配的元素

可以通过each()方法访问所有匹配元素的属性:

如:$("div").each(function(){

console.log($(this).prop("class"))

})

删除属性:

DOM:

removeAttribute()方法:node.removeAttribute

jQuery:

       removeProp()方法:

例子:$("div.green").removeProp("id")

removeAttr()方法:

例子:$("div.green").removeAttr("id")

DOM操作之类操作:


添加样式:

jQuery:

addClass()方法:增加类样式

removeClass()方法:删除类样式

toggleClass()方法:切换类样式

语法:toggleClass(className)

toggleClass(className,switch)

(switch:用来判断样式添加还是移除的boolean值)

toggleClass(function(index,class),[switch])

判断样式

DOM:

 hasAttribute()方法:判断是否拥有某个属性,可以用来判断是否拥有某个类

jQuery:

        hasClass()方法

DOM操作之读写文本值:

读写HTML:

DOM:

innerHTML()方法

jQuery:

html()方法

读写文本:

    DOM:

innerText()方法

jQuery:

text()方法

读写值:(这里的值是指表单元素中的value属性的值)

DOM:

通过属性value获取

jQuery:

val()方法

DOM操作之样式表操作:


读写CSS样式:

DOM:

借助style属性可以访问行内样式的值,

但是他没有办法访问外部css样式表(文档内部样式表和文档外部样式表)!!

借助document对象的styleSheets对象访问外部样式表!!

获取样式表:document.styleSheets[0]//获取第一个样式表

获取样式表中的样式:(考虑兼容性)

非IE浏览器:document.styleSheets[0].cssRules[0]

//获取样式表中的第一个样式的

 IE浏览器:  document.styleSheets[0].rules[0]

写入样式:(考虑兼容性)

非IE浏览器:document.styleSheets[0].insertRule("rule",index)

insertRule("rule",index):

rule:是一个完整的css样式字符串

index:必须设置,当值为0时,将样式插入到样式表末尾

IE浏览器:document.styleSheets[0].addRule("selector","style",index)

index:可以不设置,默认为-1,表示样式表的末尾

document.styleSheets[0].length//获取样式表中的样式数目


jQuery:

css()方法:读取或设置css样式

例子: $("div").css("font-size","40px")

$("div").css({"font-size":"20px","color":"red"})

$("div").css("font-size")

绝对定位:

jQuery:

offset()方法:获取匹配元素在当前视口的相对偏移

语法:offset():返回一个对象包含top和left两个属性

offset(coordinates):coordinates是一个对象,包含top和left属性

offset(function(index,coords)):

function函数返回一个包含top和left属性的对象

index:元素的索引位置

coords:元素的当前坐标

例子:

           var cood = new Object()
	   cood.top =120
	   cood.left = 120
	   $("div").offset(cood)
	   console.log($("div").offset())

相对定位:

jQuery:

position()方法:获取匹配元素的相对偏移位置。

设置大小:

jQuery:

width()和height()方法:读写元素的大小

语法:width()/height()

width(value)/height(value)

width(function(index,width))/height(function(index,width))

例子:

$("div.blue").width("150px").height("150px")

var w = $("div.green").width();

$("div.green").width(function(index,w){

return w/2;

})

innerHeight()、innerWidth():返回元素的总宽高(包括宽高、内边距和边框高度)

       outerHeight()、outerWidth():返回元素的内容宽高(包括宽高和内边距)

DOM操作之访问文档树:

DOM:

使用ChildNode、parentNode、nextSibling、previousSibling、firstChild、lastChild属性

jQuery:

children():获取当前元素的所有子元素;

      next():获取当前元素的下一个相邻元素;

      prev():获取当前元素的上一个相邻元素;

      parent():获取当前元素的父元素

      注意:这些方法返回的是jQuery对象。

jQuery学习----------DOM操作

时间: 2024-08-07 00:15:06

jQuery学习----------DOM操作的相关文章

js,jQuery和DOM操作的总结(二)

jQuery的基本操作 (1)遍历键值对和数组 var arr = [9, 8, 7, 6, 5, 4]; $.map(arr, function (ele, index) { alert(ele + '===' + index); //第一个参数是数组里面的值,第二个参数是索引 }) //=========================================// var keyWord = { "name": "老牛", "age"

第3章 jQuery的DOM操作

一.  DOM 分为DOM核心,HTML-DOM和CSS-DOM 1.DOM核心 不专属与javascript. 获取对象:document.getElementsByTagName('div') 获取属性:elem.getAtrribute('title') 2.html-DOM document.div elem.src 3.CSS-DOM elem.style.color='red' 二. jQuery的DOM操作 1.查找节点 (1)元素节点 1 2 alert($('ul li:eq(

jQuery进行DOM操作记录

1.在元素内部插入DOM元素 ①插入到元素内部原有元素之后 append(content)      返回值:jQuery  参数-content:要插入的元素String,Element,jQuery 为每一个匹配的元素内添加一些元素,参数既可以是字符串也可以是jQuery对象,如下: $("#1").append("input type='button' value='确定'/>")   在1的内部元素的后面添加一个按钮 $("#1")

jQuery常用dom操作

操作属性节点(type属性不支持修改和删除) attr('name')——取值(如果jq对象是多个,则只取得第一个值,例如:$('.class').attr('name')——只获得第一个class的name属性值) attr('name','value')——赋值 如果参数是json对象,那么则会同时修改多个属性值,例如:var kv = {name:'username',value:'tom'}; $('#username').attr(kv); 还可以通过函数的返回值来修改属性值,例如:$

Jquery的dom操作与原生dom的转换

本片文章包含了 jquery常见dom操作. q与原生dom对象的区别与转换 伪数组对象的知识 如有错误,烦请指正. 增 以下方法共性:可以一次添加多个内容,内容可以是DOM对象.HTML string. jQuery对象 创建元素 var obj = $('<div class="test"><p><span>Done</span></p></div>'); 两种方法可以创建元素 直接写入html 传入一个原生d

Jquery所有Dom操作汇总

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="jquery.1.11.1.min.js"></script> </head>

HTML 学习笔记 JQuery(DOM 操作)

一般来说,DOM操作分为三个方面,即:DOM Core(核心), HTML_DOM 和 CSS_DOM. 1.DOM Core DOM Core 并不专属于JavaScript,任何一种支持DOM的程序设计语言都可以使用它.他的用途并不局限于处理网页,也可以处理任何一种使用标记语言编写出来的文档,例如XML JavaScript中的GetElemrntById(),getElementsByTagName(),GetAttribute() 和 setAttribute()等方法,这些都是DOM

JQuery学习笔记-JQuery的DOM操作

DOM(Document Object Model 文档对象模型):一种与浏览器.平台.语言无关的接口,使用该接口可以轻松地访问页面中所有的标准组建 DOM操作的分类 -DOM Core : DOM Core并不专属于JavaScript,任何一种支持DOM的程序设计语言都可以使用.它的用途并非仅限于处理网页,也可以用来处理任何一种是用标记语言编写出来的文档,如XML -HTML DOM:使用JavaScript和DOM为HTML文档编写脚本时,有许多专属于HTML-DOM的属性 -CSS-DO

js,jQuery和DOM操作的总结(一)

废话不说,直接上图 一 js的基本操作 (1)js 的六种数据类型 var n4;//六种数据类型用typeof来确定类型,Null类型的用typeof是不行的,这个是特殊 alert(typeof (n4)); var n1 = 123; alert(typeof n1); var n2 = "hahaha"; alert(typeof (n2)); var n3 = true; alert(typeof (n3)); var n5 = null; alert(String(n5))