浅谈原生JS和jQuery操作DOM

一、创建元素节点

1、原生JS创建元素节点

document.createElement("div");

2、jQuery创建元素节点

$('<div></div>');


二、创建并添加文本节点

1、原生JS创建文本节点

var text = document.createTextNode("Hello World!");
var div = document.createElement("div");
div.appendChild(text);

2、jQuery创建并添加文本节点

var $div = $('<div>Hello World!</div>');


三、复制节点

1、原生JS复制节点

var div = document.getElementById("div1");
var node = div.cloneNode(true); 

注意:true表示克隆整个节点,包括所有子节点;false表示该节点,不克隆子节点。

2、jQuery复制节点

var node = $('#div1).clone(true);

注意:复制节点要避免id重复。

 

四、 插入节点

1、原生JS插入节点

(1)原生JS在末尾插入新的子节点

parentNode.appendChild(newNode);

(2)原生JS在已有子节点之前插入新的子节点

parentNode.insertBefore(newNode, targetNode);

注意:原生JS没有insertAfter()方法。

2、jQuery插入节点

(1)在匹配元素子节点末尾插入节点

$('#div1).append("<div>Hello World!</div>");

(2)把节点插入到匹配元素子节点末尾

$('<div>Hello World!</div>').appendTo('#div1);

(3)在匹配元素子节点开头插入节点

$('#divl').prepend('<div>Hello World!</div>');

(4)把节点插入到匹配元素子节点开头

$('<div>Hello World!</div>').prependTo('#divl');

(5)在匹配元素之前插入节点

$('#divl').before('<div>Hello World!</div>');

(6)把节点插入到匹配元素之前

$('<div>Hello World!</div>').insertBefore('#divl');

(7)在匹配元素之后插入节点

$('#divl').after('<div>Hello World!</div>');

(8)把节点插入到匹配元素之后

$('<div>Hello World!</div>').insertAfter('#divl');


五、删除节点

1、原生JS删除节点

node.parentNode.removeChild(node);

2、jQuery删除节点

$('#divl').remove();


六、替换节点

1、原生JS替换节点

parentNode.repalceChild(newNode, oldNode);

注意:oldNode必须是parentNode真实存在的一个子节点。

2、jQuery替换节点

$('#div1').replaceWith('<div>Hello World!</div>');


七、设置/获取属性

1、原生JS设置/获取属性

(1)设置属性

node.setAttribute("background", "red");
checkboxEl.checked = true;

(2)获取属性

imgEl.getAttribute("background");
checkboxEl.checked;

2、jQuery设置/获取属性:

(1)设置属性

$("#div1").attr({"background": "red"});
$("#checkbox1").prop({"checked": true});

(2)获取属性

$("#div1").attr("background");
$("#checkbox1").prop("checked");
  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值