原生js与jquery部分常用方法对比

获取dom元素

原生获取:

	- document.getElementsByName			//name获取
	- document.getElementsByTagName     // 标签名获取
	- document.getElementById,					// id获取
	- document.getElementByClassName		//类名获取
	- document.querySelector							//获取单个万能方法
	- document.querySelectorAll						//获取全部节点万能方法

jQuery获取:

基本选择器
- id选择器:$("#box");
- class选择器:$(".box");
- 标签选择器:$("p")
- 群组选择器:$("span,strong")
- 通用* : $("*")    //选择所有元素
层级选择器
  • 后代选择器:$(“body div”)
  • 子代选择器:$(“body>div”)
  • 相邻选择器:$("#box2+div")
  • 兄弟选择器:$("#box2~div")
属性选择器
  • 通过属性名选择:$(“div[id]”)
  • 通过多属性名选择:$(“div[id][class]”)
  • 通过属性值:$(“div[id=box1]”)
伪类选择器
  • eq(n):获取n对应的下标元素:$(“div:eq(2)”)
  • not除了:$(“div”).not("#box3")
  • gt 大于:$(“div:gt(2)”)
  • lt 小于:$(“div:lt(2)”)
内容选择器
  • contains: 包含字符串
  • has:包含dom元素
  • empty:空元素
可见性选择器
  • hidden:改变不可见元素的样式
  • visible: 改变可见元素的样式

节点遍历

原生方法

根据层级关系访问(包含文本和元素)
		parentNode : 返回节点的父节点
		childNodes: 返回所有子节点集合,使用下标访问
		firstChild : 返回节点的第一个子节点
		lastChild:返回最后一个节点
		nextSibling: 下一个节点
		previouSibling: 上一个节点
层级关系访问元素节点
  • fistElementChild :返回节点的第一个子节点
  • lastElementChild: 返回节点的最后一个子节点
  • nextElementSibling: 下一个节点
  • previousElementSibling:上一个节点

jQuery方法

  1. 兄弟间的遍历
    • next : 下一个
    • nextAll:后面所有的
    • prev:上一个
    • prevAll:上面所有的
    • siblings([元素名称]):获取所有的兄弟元素
  2. 子找父
    • parent:父元素
    • parents:沿着dom树一直向上查找
  3. 父找子
    • find(‘子元素的标签名’)
    • chindren([子元素的标签名])

文本的读写

原生方法

输入框:value
dom元素:
	-  innerHTML: 打印当前标签的所有内容
	- innerText:打印当前标签的文本
	- outerHTML : 打印所有的标签和文本,包括自身

jQuery方法

// 函数特点:无参为读,有参为写

输入框内容:val()
dom元素内容:html();

事件

原生js

onclick
onmousemove
onmouseout
ondbclick
onmouseover

jQuery事件

click
mousemove
mouseout
mouseover
dbclick

jQuery属性的读写

// 属性
    attr:属性的读写
   // 读
    console.log($("#box").attr("id"));

    //写
    $("#box").attr("id", "yingyingying");

    //添加单个元素
    $("#box").attr("a", "heihei");

    //添加多个元素
    $("#box").attr({
        a: 1,
        b: 2,
        c: 3
    });

    prop
    if ($("input[type=checkbox]").prop("checked") == true) {
        console.log("跳转");
    } else {
        console.log("你没点对钩");
    }
jquery: css样式的读写
  $("#box").css({
        width: 100,
         height: 100,
         backgroundColor: "red"
     });

    //读
     console.log($("#box").css("width"));
    console.log($("#box").css(["width", "height", "backgroundColor"]));

offset相关属性
  //offset相关属性
    //a.元素的宽高
    // width:代表元素内容content
    //读
    console.log($("#box").width());
    //写
    $("#box").width(200);

    outerWidth:padding+border+content
    //读
     console.log($("#box").outerWidth());

    innerWidth:content+padding
     console.log($("#box").innerWidth());
     console.log($("#box").height());

    //b.left和top
     $("#box").css({
         left: 200
     });

    //offset自带绝对定位
    //写
     $("#box").offset({
         left: 200,
         top: 500
     });

    //读
     console.log($("#box").offset().left);
     console.log($("#box").offset().top);

    //------------------------------------------
    // scrollTop等价于
     document.documentElement.scrollTop || document.body.scrollTop
     window.onscroll = function() {
         console.log($(window).scrollTop());
     }

    // 返回顶端
     $("#btn").offset({
         top: 1000
     }).click(function() {
         $(window).scrollTop(0);
    });

    // index();返回当前元素在父元素的下标
    $("li").click(function() {
        console.log($(this).index());
    });

dom节点的操作

//增
// let oBox = $("

");
// oBox.html(666);
// let oBox = $(“
888
”);
// $(“body”).append(oBox);

//追加
// let oLis = $("<li>嘿嘿嘿</li>");
//尾插
// $("ul").append(oLis);
// oLis.appendTo($("ul"));

//头插
// $("ul").prepend(oLis);
// oLis.prependTo($("ul"));

//插在指定元素之前
// $("li").eq(1).before(oLis);
// oLis.insertBefore($("li").eq(1));

//插在指定元素之后
// $("li").eq(1).after(oLis);
// oLis.insertAfter($("li").eq(1));

//-----------------------------
// 删
// $("li").eq(1).remove();
$("li").eq(1).empty();
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值